Algorithm - 없는 숫자 더하기

ryan·2022년 5월 18일
0

프로그래머스 lev1 없는 숫자 더하기

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

내 풀이 (100/100)

function solution(numbers) {
  let answer = 0;
  for (let i = 0; i < 10; i++) {
    if (numbers.indexOf(i) === -1) {
      answer += i;
    }
  }

  return answer;
}
  • 콘솔 찍어보는거 없이 바로 풀었긴했는데 너무 쉬운 문제라...

다른 사람 풀이

function solution(numbers) {
  return  45 - numbers.reduce((a, b) => a + b);
}
  • 더 성능좋은 식으로는 0~10까지를 모두 더한 값인 45에서 reduce를 이용하여 배열의 총합 구한 뒤 빼는 구조이다. 왜 나는 이런 생각을 하지 못했을까. 저번 문제에서 단순해지자고 했는데 멍청하게 단순한거 말고 똑똑하게...단순해져야할텐데...
profile
프론트엔드 개발자

0개의 댓글