프로그래머스 (JS)/Lv. 0

[Programmers] 120906번 - 자릿수 더하기

hodo- 2023. 2. 27. 17:02

Problem

문제 보기

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요


Solution

function solution(n) {
    return String(n).split('').map(Number).reduce((a, b) => a + b);
}

1. split()은 "문자열"만 배열로 바꿔주므로 숫자인 n을 String으로 감싸서 문자열로 변환하여 각 요소를 배열로 바꾼다
2. map(Number)로 문자열 배열을 숫자 배열로 바꿈
3. reduce()로 각 배열 요소 다 더해주고 값 return  

reduce 안에서 String 배열 요소를 Number로 바꿔줄 수 있음
function solution(n) {
  return n
    .toString()
    .split("")
    .reduce((acc, cur) => acc + Number(cur), 0);
}