본문 바로가기
알고리즘

두 개 뽑아서 더하기

by e-pd 2020. 9. 15.

 

programmers.co.kr/learn/courses/30/lessons/68644?language=java

 

코딩테스트 연습 - 두 개 뽑아서 더하기

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한�

programmers.co.kr

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
    public int[] solution(int[] numbers) {
        List<Integer> sums = new ArrayList<>();
        
        for (int i = 0; i < numbers.length; i++) {
            for (int j = i+1; j < numbers.length; j++) {
                sums.add(numbers[i] + numbers[j]);
            }
        }
        
        return sums.stream()
            .sorted()
            .distinct()
            .mapToInt(x -> x).toArray();
    }
}
cs

배열을 순회해서 가능한 덧셈 조합을 모두 구한다. stream을 통해 고유값만 구해서 정렬한다.

'알고리즘' 카테고리의 다른 글

문자열 다루기 기본  (0) 2020.09.17
평균 구하기  (0) 2020.09.15
소수찾기  (0) 2020.09.09
문자열 내 p와 y의 개수  (0) 2020.09.09
두 정수 사이의 합  (0) 2020.09.09