코테

코테 - 두 개 뽑아서 더하기

seo dori 2023. 3. 31. 10:02
function solution(numbers) {
    let answer =[]
    for(let i=0;i<numbers.length;i++){
        for(let j=i+1;j<numbers.length;j++){
            answer.push(numbers[i]+numbers[j])
        }
    }
    
    answer = answer.filter((element,index)=>{
        return answer.indexOf(element)==index
    }).sort(function (a,b){return a-b})
    
    return answer;
}

서로다른 인덱스에 있는 두숫자를 뽑아서 더해 만들 수 있는 모든 숫자를 구하고 오름차순으로 반환

 

sort()가 정렬할때 문자열 취급을 해서 만약 [5,7,24,14]이걸 정렬한다면 [14,24,5,7]로 정렬이 된다

 

그래서 function(a,b){return a-b}의 의미는 a-b를 해서 a가 양수가 나오면 a가 b보다 큰거니까 a를 먼저 리턴해준다 음수면 b부터

그러므로 오름차순이 된다. 이것을 넣어주지 않고 돌렸더니 테스트중 2개만 맞음......