🧬알고리즘/Programmers

[JavaScript] 없는 숫자 더하기

뉴발자 2024. 9. 10.
728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제

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

 

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

 

 

예시

numbers result
[1, 2, 3, 4, 6, 7, 8, 0] 14
[5, 8, 4, 0, 6, 7, 9] 6

 

 

나의 풀이

function solution(numbers) {
  const allNums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  const another = allNums.filter((v) => !numbers.includes(v));
    
  return another.reduce((a, c) => a + c, 0);
}

 

 

풀이 방법

1. 0 부터 9 까지의 숫자를 담은 array를 만들어준다.

function solution(numbers) {
  // 1
  const allNums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
}

 

2. filter() 함수와 includes() 함수를 사용해서 numbers에 포함되지 않은 숫자를 걸러낸다.

function solution(numbers) {
  const allNums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  // 2
  const another = allNums.filter((v) => !numbers.includes(v));
}

 

3. 걸러낸 숫자들을 reduce() 함수를 사용해서 전부 더해준 값을 반환한다.

function solution(numbers) {
  const allNums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  const another = allNums.filter((v) => !numbers.includes(v));
   
  // 3
  return another.reduce((a, c) => a + c, 0);
}

 

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글