[프로그래머스] 자릿수 더하기 - JavaScript
문제 출처
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한 조건
- N의 범위 : 100,000,000 이하의 자연수
예시
입출력 예
N | answer |
---|---|
123 | 6 |
987 | 24 |
풀이
function solution(n) {
// 파라미터 자연수 n을 문자형으로 변형한다. 123 => "123"
const str = n.toString();
// 바꾼 문자를 각각의 단어로 배열을 만든다. "123" => [1, 2, 3]
const strArr = str.split("");
// reduce 메서드를 통해 각각의 배열 값을 가져와 숫자로 변형하고 더해주고 최종 값을 반환한다.
// [1, 2, 3] => 6
return strArr.reduce((acc, cur) => acc + parseInt(cur), 0);
}
console.log(solution(123)); // 6
정리
forEach(), for() 문 등 다양한 접근 방법이 있지만 오늘은 Array의 reduce() 로 문제를 풀어보았습니다.
사용된 메서드에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!
reduce() 메서드 - MDN
split() 메서드 - MDN
toString() 메서드 - MDN
parseInt() 메서드 - MDN
피드백은 언제나 환영입니다. 😊