300x250
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/120862
* 버클업 5월 5째주
import java.util.*;
class Solution {
public int solution(int[] numbers) {
int answer = -100000000;
for(int i=0; i<numbers.length; i++){
for(int j=i+1; j<numbers.length; j++){
answer = Math.max(answer, numbers[i]*numbers[j]);
}
}
return answer;
}
}
그냥 brute force로 풀었는데 나쁘지 않게 나온것같다...내생각엔
*
다른 사람의 풀이를 보는데 또 한줄코딩을 하는 사람들이 있었다.
int len = numbers.length;
Arrays.sort(numbers);
return Math.max(numbers[0] * numbers[1], numbers[len - 2] * numbers[len - 1]);
정말 심플심플...
Arrays.sort() 하는 방식으로도 할 수 있구나 깨달았다.
다만 Math는 자바 표준 라이브러리라서 그냥 쓰면 되는데
Arrays를 쓰려면 import java.util.Arrays 를 해줘야 한다.
그리고 코드는 깔끔한데 시간 효율은 그닥인 듯했다.
숫자가 더 커지면 다를수도...?
300x250
반응형
'IT > 알고리즘' 카테고리의 다른 글
[프로그래머스] 문자열 계산하기, 인덱스 바꾸 (0) | 2023.06.28 |
---|---|
[프로그래머스] 피자 나눠 먹기(3), 중앙값 구하기 (0) | 2023.06.21 |
프로그래머스 Lv.1 부족한 금액 계산하기 (0) | 2023.05.24 |
LeetCode 198. House Robber (0) | 2023.05.22 |
LeetCode 70. Climbing Stairs (1) | 2023.05.22 |