정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
indexOf
나 includes
를 사용한 다음 값을 push
할수도 있지만 reduce
를 사용하여 중복제거 하는 사용법을 써보고 싶어서 배열에 담은 다음 중복제거를 하여 리턴했다function solution(numbers) {
var answer = [];
let results;
for (let i = 0; i < numbers.length; i++) {
for (let j = i + 1; j <numbers.length; j++) {
const sum = numbers[i] + numbers[j];
answer.push(sum);
results = answer.reduce((acc, cur, i, arr) => {
if (arr.indexOf(cur) === i) acc.push(cur);
return acc;
},[]);
}
}
results.sort((a, b) => a - b);
return results;
}
문제 출처: 프로그래머스