[프로그래머스] 68644번 - 두 개 뽑아서 더하기 [Java]

2026. 5. 15. 11:42·프로그래머스

 

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 


 

 

문제

 

 

제출한 코드

import java.util.*;

class Solution {
    public TreeSet<Integer> solution(int[] numbers) {
        
        TreeSet<Integer> set = new TreeSet<>();
        
        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;
    }
}

 

 

풀이

처음에는 아래와 같이 List를 사용해서 제출했었다.

import java.util.*;

class Solution {
    public List<Integer> solution(int[] numbers) {
        
        List<Integer> list = new ArrayList<>();
        
        for (int i = 0; i < numbers.length; i++) {
            for (int j = i + 1; j < numbers.length; j++) {
                if (!list.contains(numbers[i] + numbers[j])) 
                    list.add(numbers[i] + numbers[j]);
            }
        }
        
        Collections.sort(list);
        
        return list;
    }
}

 

List는 중복을 허용하기 때문에 if절로 중복 검사를 해줬어야 했고, 마지막으로 Collections.sort() 로 해당 List를 정렬해주어야 했다.

반환되어야 하는 결과값이 중복을 허용하지 않기 때문에 Set도 고려를 했었지만, Set의 경우 순서를 보장하지 않아 List로 문제를 풀었었다.

 

제출 후 다른 사람들의 풀이를 확인했더니 순서를 보장하는 TreeSet이 있다는 것을 발견하게 되었다.

TreeSet은 Set의 종류 중 하나로, 중복을 허용하지 않지만, 정렬이 가능한 Set이다.

기본적으로 오름차순으로 정렬되므로 TreeSet을 사용하게 되면 중복검사를 하는 if절도, 정렬해야 하는 sort() 메서드도 사용하지 않아도 됐다.

'프로그래머스' 카테고리의 다른 글

[프로그래머스] 138477번 - 명예의 전당 (1) [Java]  (0) 2026.05.20
[프로그래머스] 142086번 - 가장 가까운 같은 글자 [Java]  (0) 2026.05.18
[프로그래머스] 42748번 - K번째수 [Java]  (0) 2026.05.13
[프로그래머스] 12915번 - 문자열 내 마음대로 정렬하기 [Java]  (0) 2026.05.12
[프로그래머스] 81301번 - 숫자 문자열과 영단어 [Java]  (0) 2026.05.11
'프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 138477번 - 명예의 전당 (1) [Java]
  • [프로그래머스] 142086번 - 가장 가까운 같은 글자 [Java]
  • [프로그래머스] 42748번 - K번째수 [Java]
  • [프로그래머스] 12915번 - 문자열 내 마음대로 정렬하기 [Java]
이서라다
이서라다
  • 이서라다
    개발일지
    이서라다
  • 전체
    오늘
    어제
    • 전체 보기 (79)
      • 내일배움캠프 (21)
        • TIL (21)
      • 프로그래머스 (23)
      • Algorithm (2)
      • BackEnd (0)
        • Spring (0)
      • Language (4)
        • JAVA (4)
      • Git (2)
      • 백준 - Java (25)
        • 입출력과 사칙연산 (6)
        • 반복문 (8)
        • 1차원 배열 (1)
        • 문자열 (7)
        • 2차원 배열 (1)
        • 조합론 (1)
        • 정렬 (1)
      • IDE (1)
        • IntelliJ (1)
      • 티스토리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jdk삭제
    티스토리스킨
    내일배움캠프
    til
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이서라다
[프로그래머스] 68644번 - 두 개 뽑아서 더하기 [Java]
상단으로

티스토리툴바