[programmers] 자릿수 더하기

HYl·2022년 4월 19일

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

입출력 예

9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

나의 풀이 방법

function solution(n) {

  return (n + '').split('').map(Number).reduce((previous, current) => previous + current, 0)
}

console.log(solution(987));
  • 숫자를 문자로 변환 후 배열로 만들기 (split 이용)
    • 타입이 숫자인 경우에는 split을 사용할 수 없기 때문에 숫자에 ''을 더해 문자로 만들어주었고, split 을 사용하여 배열로 만들어 주었다.
  • map(Number) 을 사용해, 문자열 배열 형태를 숫자열 배열 형태로 만들어 주었다
    • ['1', '2', '3','4'] -> [1, 2, 3, 4]
  • reduce 함수를 사용하여 배열의 각 요소들을 더하였다.

다른 풀이 방법

function solution(n) {
  return String(n).split('').reduce((acc, cur) => acc + +cur, 0);
}
profile
꾸준히 새로운 것을 알아가는 것을 좋아합니다.

0개의 댓글