본문 바로가기
Coding Test/Programmers

[Coding Test/JS] 두 개 뽑아서 더하기

by 나는김혜린 2022. 5. 18.

1. 문제

2. 풀이 방법 생각

  • 이중 for 문 사용해 새로운 배열에 두 개를 더한 값을 무작정 넣음
  • 새로운 배열(result)을 정렬 후 중복값 제거한 새로운 배열(real) 만듦
  • 배열(real)을 정렬해서 return

3. 코드 구현

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

4. 알게 된 점

  • Java Script 내장 객체 중 Set이라는 객체는 유일한 값만을 갖기 때문에 배열 -> Set으로 만드는 방법을 사용했으면 좋을 듯
  • Java Script는 default로 배열을 문자열로 인식해서 sort했을 때 잘 안 될 수 있음 -> function(a,b) {return a-b)}(오름차순)을 쓰면 해결 가능 => 내림차순은 b-a
  • 코드를 수정하면서 깔끔해지는 게 느껴져서 조았슴

'Coding Test > Programmers' 카테고리의 다른 글

[Coding Test/JS] 폰켓몬  (0) 2022.05.25
[Coding Test/JS] 카펫  (0) 2022.05.23
[Coding Test/JS] 약수의 개수와 덧셈  (0) 2022.05.19

댓글