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

방예서·2022년 6월 14일
0

코딩테스트 준비

목록 보기
20/37

없는 숫자 더하기

문제

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

제한사항

  • 1 ≤ numbers의 길이 ≤ 9
    • 0 ≤ numbers의 모든 원소 ≤ 9
    • numbers의 모든 원소는 서로 다릅니다.

입출력 예

numbersresult
[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의 합계를 구하면 끝!







이것 또한 다른 사람의 풀이를 보니 정말 간결하게 푸신 분들도 많았다.
그걸 보니 또 무조건 간결하다고 좋은 코드일까? 하는 의문도 든다.
이런 알고리즘 풀이에서는 간결한 것이 이점이 될 것 같기는 한데...
요지는 그렇게 간결하게 풀 수 있는 로직을 생각해냈다는 것이겠지!
참고하자.
profile
console.log('bang log');

0개의 댓글