9로 나눈 나머지

음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.

이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.

9로 나눈 나머지Lv.0

181914

https://school.programmers.co.kr/learn/courses/30/lessons/181914?language=javascript

해설

그 숫자의 각 자리수를 더한 후, 그 합을 9로 나눈 나머지를 반환합니다.

  • Name
    문자열 분할
    Type
    Description

    number.split(""): 입력받은 number 문자열을 각 자리 숫자로 분할합니다.

  • Name
    reduce 함수 사용
    Type
    Description

    reduce((acc, cur) => +acc + +cur, 0): reduce 함수는 배열의 각 요소에 대해 주어진 reducer 함수((acc, cur) => +acc + +cur)를 실행하고, 하나의 결과값을 반환합니다.

    • +acc + +cur 표현식은 acc와 cur를 숫자로 변환하고 더합니다. JavaScript에서는 + 연산자 앞에 문자열을 놓으면 숫자로 변환됩니다.
  • Name
    9로 나눈 나머지 반환
    Type
    Description

    return sumOfDigits % 9;: 최종적으로 계산된 각 자리수의 합(sumOfDigits)을 9로 나눈 나머지를 반환합니다.

9로 나눈 나머지

function solution(number) {
    let sumOfDigits = number.split("").reduce((acc, cur) => +acc + +cur, 0);
    return sumOfDigits % 9;
}