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

Jay·2023년 6월 17일
0

TIL

목록 보기
4/12

프로그래머스 문제 링크

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)
}
profile
Software Developer

0개의 댓글