Description
Given a natural number N as the parameter, write a function solution to return the sum of each digit of N.
For example, if N = 123, return 1 + 2 + 3 = 6.
Constraints
Range of N : natural number less than or equal to 100,000,000.
My Solution
숫자의 각 자릿수를 합한 값을 리턴하는 간단한 문제였다.
- 받아온 숫자를 문자열로 변환한다.
- 각 문자열을 하나씩 쪼개서 배열로 만든다.
- reduce를 이용해 모든 배열 요소의 합을 구한다.
- +를 이용해 문자열을 숫자로 변환한다.
Other's Solution
function solution(n) {
var a = (n + '').split('');
var b = 0;
for (var i = 0; i < a.length; ++i) {
b += parseInt(a[i]);
}
return b;
}
핵심은 비슷하지만 자릿수의 합을 구할 때 reduce 대신 for문을 이용했다. 그리고 정수로 변환하기 위해 parseInt를 사용했다.
function solution(n) {
var arr = n.toString().split('');
var sum = 0;
arr.forEach(element => {
sum += parseInt(element);
});
return sum;
}
배열의 모든 요소의 합을 구하기 위해 forEach를 사용한 풀이이다.
'Algorithms > Programmers' 카테고리의 다른 글
[프로그래머스 Level 1] 최대공약수와 최소공배수 (자바스크립트) (0) | 2021.10.10 |
---|---|
[프로그래머스 Level 1] 자연수 뒤집어 배열로 만들기 (자바스크립트) (0) | 2021.10.10 |
[프로그래머스 Level 1] 정수 내림차순으로 배치하기 (자바스크립트) (0) | 2021.10.08 |
[프로그래머스 Level 1] 콜라츠 추측 (자바스크립트) (0) | 2021.10.08 |
[프로그래머스 Level 1] 제일 작은 수 제거하기 (자바스크립트) (0) | 2021.10.07 |