문제 설명
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
제한사항
- 0 ≤
n≤ 1,000,000
입출력 예
| n | result |
|---|---|
| 1234 | 10 |
| 930211 | 16 |
입출력 예 설명
입출력 예 #1
- 1 + 2 + 3 + 4 = 10을 return합니다.
입출력 예 #2
- 9 + 3 + 0 + 2 + 1 + 1 = 16을 return합니다.

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
n ≤ 1,000,000| n | result |
|---|---|
| 1234 | 10 |
| 930211 | 16 |
입출력 예 #1
입출력 예 #2
배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환해요.
arr.reduce(callback[, initialValue]);callback 함수는 네 개의 인자를 가져요.
accumulator (acc, prev) : 콜백의 반환값을 누적currentValue (cur, curr) : 처리할 현재 요소currentIndex (idx, index) : 처리할 현재 요소의 인덱스 (optional)array (src) : reduce()를 호출한 배열 (optional)initialValue를 제공한 경우, acc는 initialValue와 같고, cur는 배열의 첫 번째 요소와 같아요.
initialValue를 제공하지 않은 경우, acc는 배열의 첫 번째 요소와 같고, cur는 두 번째 요소와 같아요.
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((prev, curr) => prev + curr, 0);
console.log(sum); // 15map vs reduce
map()은 반환값이 같은 길이의 배열이고,reduce()는 반환값이 무엇이든 상관없어요. 주어진 조건에 따라map()과reduce()또는 다른 메서드를 사용해야 해요.
function solution(n) {
return [...n.toString()].map(Number).reduce((acc, cur) => acc + cur);
}