본문 바로가기

Programmers/Level1

두 개 뽑아서 더하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.HashSet;
class Solution {
    public int[] solution(int[] numbers) {
        int[] answer = {};
        
        HashSet<Integer> set = new HashSet<Integer>();
 
        for (int i = 0; i < numbers.length - 1; i++) {
            for (int j = i + 1; j < numbers.length; j++) {
                set.add(numbers[i] + numbers[j]);
            }
        }
        answer = set.stream().sorted().mapToInt(Integer::intValue).toArray();
        return answer;
    }
}
cs

이중 for문으로 나온 모든 덧셈 경우의 수를 Set에 추가하여 중복을 제거하였다.

set -> array로 변환할 때 sorted로 오름차순 정렬해주었는데, 역순으로 정렬하려면 sorted(Comparator.reverseOrder())를 사용하면 된다.

'Programmers > Level1' 카테고리의 다른 글

실패율  (0) 2021.07.02
3진법 뒤집기  (0) 2021.07.01
[1차] 비밀지도  (0) 2021.06.30
같은 숫자는 싫어  (0) 2021.06.29
예산  (0) 2021.06.29