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

문제 출처

Lv.1 없는 숫자 더하기 - 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

피드백은 언제나 환영입니다. 😊