정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
배열에서 중복되지 않게 두 숫자를 뽑은 후 새로운 배열에 넣는다. 단 이 때 새로운 배열에도 중복되는 값이 있으면 안되니까 includes
메서드를 이용해 중복값이 있는지 확인 해준 후, sort
메서드로 오름차순 정렬을 해주어 값을 리턴한다.
function solution(numbers) {
var answer = [];
for (let i = 0; i < numbers.length - 1; i++) {
let sum = 0;
for (let j = i + 1; j < numbers.length; j++) {
sum = numbers[i] + numbers[j];
if (answer.includes(sum) == 0) answer.push(sum);
}
}
return answer.sort(function (a, b) {
return a - b;
});
}
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)
}
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/68644