0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
numbers | result |
---|---|
[1,2,3,4,6,7,8,0] | 14 |
[5,8,4,0,6,7,9] | 6 |
// 프로그래머스 없는 숫자 더하기
function solution(numbers) {
var answer = 0;
const nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let notNums = nums.filter(n => !numbers.includes(n));
for (let i=0; i<notNums.length; i++) {
answer += notNums[i];
}
return answer;
}
0~9가 들어있는 배열 nums
을 지정한다.
nums에서 인자로 받은 배열에 없는 숫자만 넣는 notNums
를 지정한다.
notNums
의 합계를 구하면 끝!
이것 또한 다른 사람의 풀이를 보니 정말 간결하게 푸신 분들도 많았다.
그걸 보니 또 무조건 간결하다고 좋은 코드일까? 하는 의문도 든다.
이런 알고리즘 풀이에서는 간결한 것이 이점이 될 것 같기는 한데...
요지는 그렇게 간결하게 풀 수 있는 로직을 생각해냈다는 것이겠지!
참고하자.