티스토리 뷰

문제 :  https://programmers.co.kr/learn/courses/30/lessons/86051

 

코딩테스트 연습 - 없는 숫자 더하기

0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr

 

내가 푼 정답 :

function solution(numbers) {
    var result = [];
    for(let i=0;i<10;i++){
        if(numbers.indexOf(i) == -1){
            result.push(i);
        }
    }
    return result.reduce((pre,cur)=> pre + cur);
}

0부터 10까지 for문으로 반복하여 해당 값을 배열에 넣은 뒤, .reduce 메서드를 사용하여 배열의 값에 합을 구한다.

 

다른 사람의 풀이 :

function solution(numbers) {
    let answer = 0;

    for(let i = 0; i <= 9; i++) {
        if(!numbers.includes(i)) answer += i;
    }

    return answer;
}

answer 변수를 정의 한뒤, 해당 변수에 값을 더하면서 해결하는 방법도 있었다.

댓글