안녕하세요

프로그래머스 JavaScript [두 개 뽑아서 더하기]★ new Set() 중복이 없는 객체 본문

프로그래머스/Lv.1

프로그래머스 JavaScript [두 개 뽑아서 더하기]★ new Set() 중복이 없는 객체

sakuraop 2022. 9. 29. 20:48
  • 두 개 뽑아서 더하기
문제 설명

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


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

입출력 예numbersresult
[2,1,3,4,1] [2,3,4,5,6,7]
[5,0,2,7] [2,5,7,9,12]

function solution(numbers) {
    var answer = [];
    
    for (i=0; i<numbers.length; i++) {
        for (j=0; j<numbers.length; j++) {
            if (i != j) answer.push(numbers[i] + numbers[j])
        }
    }
    
    let arr = [...new Set(answer)]
    
    return arr.sort((a,b) => a-b)
}

 

if (i != j) answer.push(numbers[i] + numbers[j]) : 0번쨰 숫자는 0번째가 아닌 숫자끼리만 더하도록 i != j 를 조건으로 합니다.

 

new Set(answer) : Set() 에 배열을 넣게 되면 중복되는 요소를 없앤 객체를 반환합니다.

let arr = [...new Set(answer)] : 오름차순 정렬을 하기 위해서 배열로 만들어줍니다.

arr.sort((a,b) => a-b) : 오름차순 정렬을 합니다.