[프로그래머스] 두 개 뽑아서 더하기 (python, javascript)

728x90
반응형

1. 파이썬 풀이 

중복없이 저장하기 위해 dictionary를 썼다 

 

def solution(numbers):
    dict={}
    for i,n in enumerate(numbers):
        for j,m in enumerate(numbers):
            if i==j: continue
            dict[n+m]=n+m
    return sorted(dict.values())

sorted는 새로운 배열을 반환한다

 

 

2. javascript 풀이 

 

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

 

set을 이용하는 방법 

 

set은 중복을 제거한 원소만 보여준다 

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

 

728x90
반응형
TAGS.

Comments