Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.0_Java] 최댓값 만들기(2) 본문

알고리즘테스트/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