나의 개발일지

[Algorithm][JavaScript] 프로그래머스 Level.1 - 없는 숫자 더하기 본문

Algorithm

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

heew0n 2023. 12. 18. 09:20

✔️ 문제

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

 

 

✔️ 제한사항

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

 

 

 

✔️ 입출력 예

 

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;
  for (let i = 0; i <= 9; i++) {
    if (!numbers.includes(i)) answer += i;
  }
  return answer;
}

 

 

구글링 통해서 답을 얻었다

numbers에 포함하지 않는 값을 찾아서 answer에 더해서 담아주었다

 

 

 

💡다른 사람의 풀이

function solution(numbers) {
    return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}

 

생각도 못한 풀이!

0 - 9 까지의 숫자를 다 더한 값은 45인데

담겨있는 배열의 모든 값을 더한 값을 빼면 찾을 수 없는 숫자의 합이 나온다