javascript/프로그래머스

[코딩테스트 연습]level 1. 없는 숫자 더하기

sewonzzang123 2022. 6. 22. 19:06
반응형

문제:

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers 가 매개변수로 주어집니다.

numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.

 

 

 

 

 

-----

0부터 9까지의 합이 45이기 때문에 고정값으로 주고, array에 0을 넣은 후에 

54에서 array에 들어가는 숫자들을 빼는 과정으로 프로그래밍을 했다.

 

function solution(numbers) {
    let resArr = [0,0,0,0,0,0,0,0,0,0,0];
    
    for(let a = 0; a<numbers.length; a++){
        resArr[numbers[a]] = numbers[a];
    }
    var answer = 45;
    resArr.forEach((data)=>{
        answer -= data;
    })
    
    return answer;
}

 

결과는 정답으로 처리가 되었지만, 다른사람들이 코딩한 것을 보았는데 45에서 그냥 array를 돌면서 빼주면 됐었던 문제였다...ㅎ

 

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

 

복잡하게 생각할 필요가 없었다...

반응형