[프로그래머스 코딩테스트 연습문제] 두 개 뽑아서 더하기 | 알고리즘 설명 & 문제 풀이 with 자바스크립트(Javascript)

Re_Go·2023년 12월 30일
0

코딩테스트연습

목록 보기
54/98
post-thumbnail
post-custom-banner

1. 문제 설명

2. 제한사항

3. 입출력 예

4. 입출력 예 설명

5. 첫번째 문제 풀이(2023-12-30)

이 문제의 경우 경우의 수에 대한 완탐의 첫걸음이라고 보면 되겠습니다. 문제 풀이는 이중 for문을 돌렸는데, 첫번째 for문은 주어진 배열의 첫번째부터 배열의 -1까지(마지막 숫자는 두번째 for문에서 더할 것이므로 해당 범위를 설정) 돌리고 두번째 for문은 배열의 두번째부터(각각 i+1의 값) 배열의 끝까지 돌면서 배열의 현재 i 자리의 값과 그 다음 값을 더합니다.

그리고 그 결과값이 result 배열에 들어있지 않은 상태일 때에만 push를 해주면 다음부터는 중복되는 결과값이 나와도 result 배열에는 이미 그 값과 중복되는 값이 들어있을 때 무시하고 계속 for문을 이어나갑니다.

그 후 반한된 배열을 오름차순 해준 후 return해줍니다.

function solution(numbers) {
   
    const result = [];

    for(let i = 0 ; i < numbers.length - 1 ; i++){
        for(let j = i+1 ; j < numbers.length ; j++){
            const number = numbers[i] + numbers[j]
            if(!result.includes(number)) result.push(number);
        }
    }
     return result.sort((a, b) => a - b);
}
profile
인생은 본인의 삶을 곱씹어보는 R과 타인의 삶을 배워 나아가는 L의 연속이다.
post-custom-banner

0개의 댓글