[프로그래머스 | Javascript] 월간 코드 챌린지 시즌1 - 두 개 뽑아서 더하기

박기영·2022년 9월 14일
0

프로그래머스

목록 보기
44/159

solution

function solution(numbers) {
    let sumArr = [];
    
    // 모든 경우의 수를 계산
    // 서로 다른 인덱스만을 계산해야함.
    for(let i = 0; i < numbers.length - 1; i++){
        let a = numbers[i];
        
        for(let j = i + 1; j < numbers.length; j++){
            let b = numbers[j];
            
            sumArr.push(a + b);
        }
    }
    
    // 중복 제거
    let ans = Array.from(new Set(sumArr));
    
    ans.sort((a, b) => a - b);
    
    return ans;
}

모든 경우의 수에 대한 연산을 진행하고
중복되는 값들은 Set 객체를 통해 지워줬다.
주의할 점은 Set 객체는 배열이 아니기 때문에,
Array.from()을 통해서 배열의 형태로 전환해서 사용해야한다.

profile
나를 믿는 사람들을, 실망시키지 않도록

0개의 댓글