개발 공부/알고리즘
[프로그래머스 알고리즘] "자릿수 더하기" JavaScript / .reduce(), parseInt()
U_D
2022. 3. 15. 09:46
1. 문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
2. 제한 조건
N의 범위 : 100,000,000 이하의 자연수
3. 예시
입력/출력
4. 풀이
[reduce / parseInt]
reduce의 합산 식을 드디어 처음 활용!
배열로 바꿔준 후 배열의 각 값을 더하기
reduce의 initial value는 첫 acc 값. 즉, 0을 넣어서 acc 초기값을 정수화 해주는 역할("문자열 + 정수 = 문자열" 방지).
-> 0 + 1(배열의 첫번째 값이 문자열이었지만 parseInt로 정수형으로 들어온다)
function solution(n)
{
var answer = 0;
N = (n + "").split("")
answer = N.reduce((acc,curr) => acc + parseInt(curr),0);
return answer;
}
[for문 / parseInt]
사실 이게 더 익숙한 식이긴 하다..!
function solution(n)
{
var a = (n + '').split('');
var b = 0;
for(var i = 0; i < a.length; ++i) {
b += parseInt(a[i]);
}
return b;
}