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
'문제풀이 > 프로그래머스' 카테고리의 다른 글
올바른 괄호 (0) | 2021.11.26 |
---|---|
문자열 다루기 기본 (0) | 2021.11.24 |
이상한 문자열 만들기 (0) | 2021.11.23 |
자연수 뒤집어 배열로 만들기 (0) | 2021.11.23 |
문자열 내림차순으로 배치하기 (0) | 2021.11.22 |
댓글