본문 바로가기

알고리즘

[프로그래머스] 최댓값 만들기 (1)

728x90
import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;

        ArrayList<Integer> arrayList = Arrays.stream(numbers).boxed().collect(Collectors.toCollection(ArrayList::new));
        for (int i = 0; i < arrayList.size() - 1; i++) {
            for (int j = i + 1; j < arrayList.size(); j++) {
                int element = arrayList.get(i) * arrayList.get(j);

                if (element > answer) answer = element;
            }
        }

        return answer;
    }
}

- 쉬운 문제인데 다른 사람 풀이를 보니 정렬을 쓰면 훨씬 빠르게 풀 수 있다!

 

import java.util.*;

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;

        Arrays.sort(numbers);

        return numbers[numbers.length-1]*numbers[numbers.length-2];
    }
}

 

 

300x250