[프로그래머스 | JavaScript] 없는 숫자 더하기

728x90
반응형

(1) 내 코드

function solution(numbers) {
    let arr = numbers.sort();
    let answer = 0;
    let cnt = 0;

    for (let i = 0; i <= 9; i++) {
        if (arr[cnt] !== i) {
            answer += i;
        } else {
            cnt++;
        }
    }
    return answer;
}

▶ 배열 정렬

정렬된 배열의 인덱스에 cnt라는 변수를 줘서 비교

cnt=0 / arr[0]과 0 비교 /  cnt++ 

cnt=1 / arr[1]과 1 비교 ...... arr[5] !== 5 --> 이 값을 answer 변수에 저장 -> cnt 증가

 

 

(2) 다른 사람 풀이

function solution(numbers) {
    return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}

▶ 0~9까지의 합 : 45

▶ 주어진 배열의 합 : x 

▶ 45- x = 없는 숫자 더하기.

 

오..! 역발상!

 

반응형