[프로그래머스] 없는 숫자 더하기 - JavaScript
문제 출처
문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다.
numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한 조건
- 1 ≤ numbers의 길이 ≤ 9
- 0 ≤ numbers의 모든 원소 ≤ 9
- numbers의 모든 원소는 서로 다릅니다.
예시
입출력 예
numbers | return |
---|---|
[1, 2, 3, 4, 6, 7, 8, 0] | 14 |
[5, 8, 4, 0, 6, 7, 9] | 6 |
풀이
function solution(numbers) {
let sum = 0;
// 0은 더해도 숫자의 변동이 없으므로 1부터 시작한다.
// 1부터 9까지 for() 문을 돌려준다.
for (let i = 1; i < 10; i++) {
// numbers에 i 가 포함하면 sum에 0을 더해주고
// (numbers에 해당 숫자가 있으므로)
// 포함하지 않는다면 i 를 sum에 더해준다.
// (numbers에 해당 숫자가 없으므로)
sum += numbers.includes(i) ? 0 : i;
}
return sum;
}
console.log(solution([1, 2, 3, 4, 6, 7, 8, 0])); // 14
console.log(solution([5, 8, 4, 0, 6, 7, 9])); // 6
정리
오늘도 월간 코드 챌린지 문제입니다. for() 문과 Array includes의 조합으로 쉽게 문제를 해결할 수 있었습니다.
사용된 메서드와 문법에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!
for() 문 - MDN
includes() 메서드 - MDN
삼항 조건 연산자 - MDN
피드백은 언제나 환영입니다. 😊