STUDY/JavaScript

[javascript] Set을 이용해서 중복 제거하기

킵코 2022. 1. 6. 00:44

Set은 프로그래머스 알고리즘 문제를 풀다 다른 사람 풀이를 보고 알게되었다. 

나는 조건문을 이용해서 중복을 제거했는데 다른 사람 풀이를 보니 Set을 이용해서 중복을 제거하더라..!

 

내가 제출한 답 :

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

 

Set을 이용하면 이렇게 바꿀 수 있다.

 

function solution(numbers) {
    var answer = [];
    for(let i=0; i<numbers.length; i++){
        for(let j=i+1; j<numbers.length; j++){
            answer.push(numbers[i]+numbers[j])
        }       
    }
    const result = [...new Set(answer)]

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

 

Set 객체는 중복되지 않은 값들의 집합이다.

 

Set 생성하기

const set = new Set() // 인수가 없으면 빈 객체가 생성 된다.

Set은 중복된 값을 저장하지 않아서 중복요소 제거할 수 있다.