두개 뽑아서 더하기

이은미·2025년 7월 20일
0

문제

https://school.programmers.co.kr/learn/courses/30/lessons/68644

문제파악

배열에서 두 수를 뽑아서 더한 값을 모두 구하고, 중복 없이 오름차순 정렬해서 리턴하라는 문제.
조합(2개 뽑기)과 Set 자료구조 활용 해보기

접근방법

  1. 중복을 제거해야 했기 때문에 Set을 씀
  2. 모든 두 수의 조합을 만들어야 해서 이중 for문을 썼다
  3. Set을 리스트로 바꾸고 정렬해서 배열로 반환

문제 풀이

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]);
            }
        }

        List<Integer> list = new ArrayList<>(set);
        Collections.sort(list);

        int[] answer = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }

        return answer;
    }
}
profile
파이팅 해야지

0개의 댓글