[프로그래머스] Lv.1 두 개 뽑아서 더하기.java

hgghfgf·2023년 5월 22일
0

프로그래머스

목록 보기
49/227

두 개 뽑아서 더하기.java

import java.util.*;

class Solution {
     public int[] solution(int[] numbers) {
        Set<Integer> set = new HashSet<>();

        for(int i=0; i<numbers.length; i++) {
            for(int j=i+1; j<numbers.length; j++) {
                set.add(numbers[i] + numbers[j]);
            }
        }

        return set.stream().sorted().mapToInt(Integer::intValue).toArray();
    }
}

Set 인터페이스를 활용하여 중복을 허용하지 않는 집합 객체 set을 생성합니다.
이중 반복문을 사용하여 numbers 배열에서 모든 조합을 확인합니다. 첫 번째 반복문은 첫 번째 선택된 수의 인덱스를 나타내고, 두 번째 반복문은 두 번째 선택된 수의 인덱스를 나타냅니다. (두 인덱스는 서로 다른 인덱스여야 함)
각 조합에서 두 수를 더한 값을 set에 추가합니다. Set의 특성으로 인해 중복된 값은 자동으로 제거됩니다.
set을 오름차순으로 정렬하기 위해 stream() 메서드를 사용하여 스트림으로 변환합니다.
sorted() 메서드를 사용하여 스트림의 요소를 오름차순으로 정렬합니다.
mapToInt() 메서드와 toArray() 메서드를 사용하여 스트림의 요소를 정수 배열로 변환하여 반환합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글