[프로그래머스 lv.1] 두 개 뽑아서 더하기 by JS

개구링·2021년 7월 22일
0
post-thumbnail

✉ Question

🔗 문제링크

문제 설명

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

제한사항

  • numbers의 길이는 2 이상 100 이하입니다.
  • numbers의 모든 수는 0 이상 100 이하입니다.


💌 Answer

조합 문제
1. 0번 인덱스부터 숫자를 하나 뽑는다.
2. 뽑은 숫자에 해당 인덱스의 다음 숫자들을 하나씩 더한 각각의 수를 Set에 담아준다.
3. 가능한 모든 수를 중복없이 담은 set을 오름차순 정렬하여 리턴한다.

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

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


profile
기록을 취미로

0개의 댓글