정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
입출력 예
numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12]
solution.js
function solution(numbers) { let answer = cal(numbers); return answer; } const cal = (array) => { let rt = []; array.map((num, idx) => { for (let i = 0; i < array.length; i++) { if(i !== idx){ let element = array[i]; let number = num + element; if(-1 === rt.indexOf(number)){ rt.push(number); } } } }); rt.sort(function(a, b) { return a - b; }); return rt; };
단순하게 기준으로 삼을 수 하나를 가지고 다른 수들과 더하고, 더한 결과값을 배열에 넣을 때, 똑같은 값이 없으면 넣도록 작성했다. 겹치는 숫자가 없게끔 만들어진 배열안에 값들을 sort 해서 오름차순으로 정렬하였다.