프로그래머스, 자바스크립트) 두 개 뽑아서 더하기

2024. 11. 19. 23:04·개발/알고리즘(코딩테스트)

문제

https://school.programmers.co.kr/learn/courses/30/lessons/68644?language=javascript

풀이

우선 중복을 제거하기 위해 집합을 만든다.

배열을 이중반복으로 돌면서 두 가지 수를 모두 뽑아 더해준 후 집합에 넣는다 (중복은 걸러짐)

집합을 다시 배열로 변환 후 오름차순으로 정렬한다.

function solution(numbers) {
    const uniqueSums = new Set(); // 중복 제거용 Set

    const n = numbers.length;
    for (let i = 0; i < n; i++) {
        for (let j = i + 1; j < n; j++) {
            uniqueSums.add(numbers[i] + numbers[j]); // 바로 Set에 추가
        }
    }

    // Set을 배열로 변환 후 정렬
    return [...uniqueSums].sort((a, b) => a - b);
}

// 테스트
console.log(solution([2, 1, 3, 4, 1]));  // [2, 3, 4, 5, 6, 7]
console.log(solution([5, 0, 2, 7]));    // [2, 5, 7, 9, 12]

 

'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글

프로그래머스, 자바스크립트) 예산  (1) 2025.05.22
프로그래머스, 자바스크립트) 이진 변환 반복하기  (2) 2025.05.21
프로그래머스, 자바스크립트) 올바른 괄호  (0) 2024.11.18
프로그래머스, 자바스크립트) JadenCase 문자열 만들기  (0) 2024.11.17
프로그래머스, 자바스크립트) 최솟값 만들기  (0) 2024.11.15
'개발/알고리즘(코딩테스트)' 카테고리의 다른 글
  • 프로그래머스, 자바스크립트) 예산
  • 프로그래머스, 자바스크립트) 이진 변환 반복하기
  • 프로그래머스, 자바스크립트) 올바른 괄호
  • 프로그래머스, 자바스크립트) JadenCase 문자열 만들기
빔네모
빔네모
console.log("빔네모")
  • 빔네모
    bimnemo("개발")
    빔네모
  • 전체
    오늘
    어제
    • 기록 (152) N
      • 기술 (42) N
        • JavaScript (6) N
        • TypeScript (9)
        • React.js (10)
        • Next.js (0)
        • 라이브러리,도구 (4)
        • HTML,CSS (4)
        • CS (5)
        • BE (4)
      • 개발 (98) N
        • 프로젝트 (0)
        • 트러블슈팅 (5)
        • 알고리즘(코딩테스트) (93) N
      • 정보 (4)
      • 취미 (8)
        • 감상 (8)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
빔네모
프로그래머스, 자바스크립트) 두 개 뽑아서 더하기
상단으로

티스토리툴바