Programmers | 두 개 뽑아서 더하기(Lv.1 / Javascript)

HN·2023년 3월 31일
0

프로그래머스

목록 보기
7/30
post-custom-banner

두 개 뽑아서 더하기

❔문제 설명

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

제한사항

  • numbers의 길이는 2 이상 100 이하입니다.
    • numbers의 모든 수는 0 이상 100 이하입니다.





풀이

이중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);
}










✔문제출처: 프로그래머스

post-custom-banner

0개의 댓글