문제 : https://programmers.co.kr/learn/courses/30/lessons/68644

코드 1. 내가 푼거 (처음에는 모든 인덱스를 다 돌았다 반성하자!)

const solution = (numbers) => {
  let result = [];

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

코드 2. 어느 배우신 분의 코드


function solution(numbers) {
  const temp = []

  for (let i = 0; i < numbers.length; i++) {
      for (let j = i + 1; j < numbers.length; j++) {
          temp.push(numbers[i] + numbers[j])
      }
  }

  const answer = [...new Set(temp)]

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

미쳤다 미쳤어! spread operator에다가 new Set 까지..

오늘의 공부는 이것이다.

느낀점

역시 코딩은 재능인가. 좋은 코드보고 사고하는 법을 많이 배워야겠다.

Leave a comment

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다