문제 : 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 까지..
오늘의 공부는 이것이다.
느낀점
역시 코딩은 재능인가. 좋은 코드보고 사고하는 법을 많이 배워야겠다.