알고리즘테스트/Programmers
[Lv.0_Java] 최댓값 만들기(2)
코딩거인
2023. 8. 16. 09:11
728x90
import java.util.*;
class Solution {
public int solution(int[] numbers) {
int answer = 0;
int size = 0;
for (int i = numbers.length-1; i >= 1; i--){
size += i;
}
int [] arr = new int [size];
int k = 0;
for(int i = 0; i < numbers.length; i++){
for(int j = i+1; j < numbers.length; j++){
arr[k++] = numbers[i] * numbers[j];
}
}
Arrays.sort(arr);
return arr[arr.length-1];
}
}
우선 배열을 하나 만들어서 넣어준다음 정렬을 통해 최댓값을 가져오려고 했다!
모든 경우의 수를 더해줘야 하기때문에 size에 += i 를 통하여 모든 경우의 수를 더한 값을 배열의 길이에 할당하였고
이중 for 문을 활용하여 배열안에 모든 곱을 arr 배열에 넣어준 뒤 Arrays.sort() 함수를 활용하여 오름차순 정리를 하여 배열의 맨 마지막에 있는 값을 return 해주었다!!!
import java.util.*;
class Solution {
public int solution(int[] numbers) {
int len = numbers.length;
Arrays.sort(numbers);
return Math.max(numbers[0] * numbers[1], numbers[len - 2] * numbers[len - 1]);
}
}
이건 다른 사람들의 풀이인데.... 너무 간결해졌다... 더 공부하자...!

728x90