Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

다재다능 개발자 성장기 🚀

[자바스크립트 알고리즘] - 두 개 뽑아서 더하기 본문

알고리즘(JS)

[자바스크립트 알고리즘] - 두 개 뽑아서 더하기

merrytang 2022. 6. 13. 19:42

문제 설명

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


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

 

풀이

function solution(numbers) {
    let a = [];
    
    for(let i=0; i<numbers.length; i++){
        for(let j=i+1; j<numbers.length; j++){
            a.push(numbers[i]+numbers[j])
        }
    }   
    const result = [...new Set(a)];
    return result.sort((a,b)=>a-b)
}

 

1. 이중 for문을 사용하여 배열안의 값들을 모두 서로 더해준다.

2. 이때, 문제에서 '서로 다른 인덱스'에 있는 두 개의 수를 뽑으라는 말을 참고하여 j는 i+1 인덱스부터 시작하게 한다.

3. a 배열안에 더해준 값들을 모두 담아주고, [...new Set(a)]를 사용하여 중복값을 없에준다.

4. 마지막으로 오름차순으로 정렬하여 반환해준다.