정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
이중for문으로 모든 요소가 하나씩 짝지어질 수 있도록 하고, 서로 다른 인덱스에 있는 두 개의 수라는 조건에 맞추기 위해 j는 i의 +1이 되도록 해준다. 그리고 중복되지 않도록 하기 위해 if문에서 idexOf()로 요소의 유무를 체크하고 -1일 때(없을 때) answer 배열에 push하도록 해준 다음 오름차순으로 정렬한 answer 배열을 리턴하면 끝!
function solution(numbers) {
var answer = [];
for(let i = 0; i < numbers.length; i++) {
for(let j = i + 1; j < numbers.length; j++) {
let num = numbers[i] + numbers[j]
if(answer.indexOf(num) == -1) answer.push(num)
}
}
return answer.sort((x, y) => x - y);
}
✔문제출처: 프로그래머스