문제 설명

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

제한사항

입출력 예

입출력 예 설명

입출력 예 #1

입출력 예 #2

내 답변

어떻게 구현했는가

  1. for문을 이중으로 해서 첫번째 for문은 원래의 numbers 로 대로 반복시키고, 두번째 for문은 numbersi + 1만큼 slice 시킨 배열을 조건문으로 한다.
  2. numbers[i] + plusNumbers[j] 를 변수로 만들어서 기존의 배열에 없으면 저장하고, 있으면 저장하지 않는 배열을 만든다.
  3. 배열을 sort로 오름차순시켜서 만들면 정답!
function solution(numbers) {
    var answer = [];
    
    for (let i = 0; i < numbers.length; i++) {
        const plusNumbers = numbers.slice(i + 1);
        for(let j = 0; j < plusNumbers.length; j++) {
           const plusNum = numbers[i] + plusNumbers[j];
            
            if (!answer.includes(plusNum)) {
                answer.push(plusNum)
            }
        }
    }
    return answer.sort((a,b) => a - b);
}