두 개 뽑아서 더하기

이건선·2023년 2월 18일

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

function solution(numbers) {
    let first = []
    
 for (let i = 0 ; i < numbers.length; i++){
     for(let j = i+1; j < numbers.length; j++){
        let sum = numbers[i] + numbers[j]
       if(!first.includes(sum)){
           first.push(sum)
       }
     }
 }
    return (first.sort((a,b) => a-b))
}

하나의 배열을 두번 사용하기 위해서 for문 안에 for문을 생성한다 안쪽의 for문은 i+1로 선언하고 배열에 각각 i j를 돌게 만든다.

그리고 만약에 first배열을 includes로 판단해서 같은 값이 존재하지 않는다면 채워넣고 for문 반복이 끝나면 sort로 오름차순 정렬한다.

profile
멋지게 기록하자

0개의 댓글