68644. 두 개 뽑아서 더하기

2025-11-12
프로그래머스 68644번 풀이

이 글은 Obsidian에서 마이그레이션되었으며, 그 과정에서 AI의 도움을 받았습니다. 오류나 누락된 내용이 있다면 댓글로 알려주세요!

문제

코딩테스트 연습 - 두 개 뽑아서 더하기 | 프로그래머스 스쿨

풀이

아이디어

  1. 2개의 수를 뽑아 더한 수를 Set에 넣는다. (중복을 제거함 (입출력 예 2를 보면 알 수 있음))
  2. Set을 배열로 만들고, 오름차순 정렬해서 반환

코드

function solution(numbers) {
    let answerSet = new Set();

    for (let i = 0; i < numbers.length - 1; i++) {
        for(let j = i + 1; j < numbers.length; j++) {
            answerSet.add(numbers[i] + numbers[j]);
        }
    }
    return [...answerSet].sort((a, b) => a - b);
}

시간 복잡도

  • 시간 복잡도: 모든 조합을 결정하는데 N², 만들어진 조합을 정렬하는데 최악의 경우 N²log(N²). 최종 시간 복잡도는 O(N²log(N²)) 으로 굉장히 좋지 않지만, numbers의 길이가 100이하로 작기 때문에 문제 풀이에는 영향을 주지 않는다.