Code Kata - 없는 숫자 더하기

김형석·2022년 5월 29일
0

WECODE

목록 보기
23/33

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

제한사항
1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 원소 ≤ 9
numbers의 모든 원소는 서로 다릅니다.

입출력 예 설명
입출력 예 #1

  • 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
    입출력 예 #2
  • 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.

요즘 계속 어려운 문제를 풀고 있어서 그런지 코딩테스트 문제들을 보면 먼저 어렵겠지 라는 생각부터 떠오르는 것 같다...이 문제도 문제를 읽을 때만해도 어렵다고 생각했지만 쉽게 풀 수 있었다.

내 풀이

function solution(numbers) {
    var answer = 0;
    for( let i = 0; i < numbers.length; i++){
    answer += numbers[i]
}
    return 45 - answer;
}

1부터 9까지의 합은 언제나 고정이기 때문에 배열의 값을 모두 더해준 후 빼주기만 하면 간단했다.
하지만 다른 사람들의 풀이를 보고 저렇게도 풀 수 있구나 라는 생각을 많이 했다.
다른 사람이 푼 코드를 보자.


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

reduce를 사용하여 풀었는데 나는 생각도 못했다...따봉!

profile
블로그 이사 : https://hengxi.tistory.com

0개의 댓글