두 개 뽑아서 더하기
https://programmers.co.kr/learn/courses/30/lessons/68644
배열에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 answer 배열에 넣어준다.
answer 배열을 오름차순으로 정렬해주고
filter()로 반복된 요소를 제거한다.
function solution(numbers){
var answer = [];
for (var i = 0; i < numbers.length - 1; i++){
for(var j = i+1; j < numbers.length; j++){
// 서로 다른 두 요소를 뽑아
answer.push(numbers[i] + numbers[j]); // 더해서 배열에 push해서 넣어준다.
}
}
return answer.sort((a,b) => a - b).filter((el,index) => answer.indexOf(el) === index);
// indexOf(el)은 el의 첫 번째 요소를 반환하기 때문에 index랑 indexOf(el)을 비교해서 같은 것만 반환하면 중복된 요소를 없앨 수 있다.
}
다른 사람 풀이
return answer = [...new Set(array)].sort((a, b) => a - b);
자료형에 관계없이 유일한 값을 저장한다.
syntax
new Set([iterable]);
var dateFields = [1970, 0, 1]; // 1 Jan 1970
var d = new Date(...dateFields);
다른 사람의 풀이에서 전개연산자와 Set 객체에 대해 공부할 수 있었다.