문제풀이/프로그래머스
자릿수 더하기
dev_kong
2021. 11. 24. 01:33
728x90
728x90
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
접근방법
음.. toString으로 문자열로 변경
split으로 배열로 바꾸고
reduce로 총합 구해주면 되는데
아 문자열이지 그럼 Number로 숫자로변경하고 더해주자
function solution(n) {
return n
.toString()
.split('')
.reduce((acc, cur) => acc + Number(cur), 0);
}
깔끔.
그리고 다른 사람 답 보다가
발견한 while
뭔가 수학적으로 접근 하는 거 같아서 신기함
function getSum(n) {
let sum = 0;
while (n > 0) {
sum += n % 10;
n = Math.floor(n / 10);
}
return sum;
}
나 이제 이런 문제 패턴은 좀 지겨울지도...?
728x90
728x90