Programming

[알고리즘] 프로그래머스 두 개 뽑아서 더하기

jay-dev 2023. 6. 26. 19:05

프로그래머스 문제 링크

My Solution / Try

우선 빈배열을 선언, 할당하고
이중 반복문을 돌며 numbers의 요소를 더해주었다.
중복 제거는 빈배열에 includes 매서드를 활용하여 존재하지 않는 값만 push하였다.

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

Advanced Solution

중복을 제거할 때 includes 함수를 활용하지 않고도
자료구조 Set을 활용할 수 있다

자료구조 Set에 대한 이전 포스팅

MDN 참고

function solution(numbers) {
    const result = []

    for (let i = 0; i < numbers.length; i++) {
        for (let j = i + 1; j < numbers.length; j++) {
            result.push(numbers[i] + numbers[j])
        }
    }

    const answer = [...new Set(result)]

    return answer.sort((a, b) => a - b)
}

 

'Programming' 카테고리의 다른 글

[Javascript] ES6란 무엇인가(ES5와의 차이)  (0) 2023.06.26
[WIL] week1 회고  (0) 2023.06.26
[알고리즘] 로또의 최고 순위와 최저 순위  (0) 2023.06.26
[TIL] 자료구조 Map, Set  (0) 2023.06.26
[TIL] 숫자야구게임  (0) 2023.06.26