한 자리 정수로 이루어진 문자열 num_str
이 주어질 때, 각 자리수의 합을 return
하도록 solution
함수를 완성하는 문제이다.
function solution(num_str) {
let answer = 0;
const arr = Array.from(num_str);
for(let i = 0; i < arr.length; i++) {
answer += +arr[i];
}
return answer;
}
for
루프를 사용하여 각 문자를 숫자로 변환하고 누적하여 합산한다.for
루프의 반복이 성능 저하 요인이 될 수 있다.const solution = num_str => num_str.split('').reduce((acc, curr) => acc + parseInt(curr), 0);
split
과 reduce
를 사용해 더 간결하고 현대적인 JavaScript의 함수형 프로그래밍 스타일을 반영한다.const arr = "123456789".split('');
console.log(arr); // [ '1', '2', '3', '4', '5', '6', '7', '8', '9' ]
const result = arr.reduce((acc, curr) => acc + parseInt(curr), 0);
console.log(result); // 45