티스토리 뷰
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
- N이 123일 때 1+ 2+ 3 이므로 6을 return
- N이 987일 때 9+8+7 이므로 24를 return
풀이
function solution(n) {
const digits = n.toString().split('');
const sumOfDigits = digits.reduce((prev, curr) => prev + parseInt(curr), 0);
return sumOfDigits;
}
설명
-n을 먼저 string 타입으로 변경한 뒤, split 함수를 통해 자리수를 전부 각 인덱스로 나눠서 digits라는 새로운 배열에 할당한다. 이 때 string 타입으로 굳이 변경해주는 이유는 split 함수는 string 타입에만 사용할 수 있기 때문이다.
-그 후 digits 배열을 reduce 함수를 통해 배열 내의 모든 값을 더해주면 된다. 이 때 reduce 함수는 number 타입에 사용 가능하므로, parseInt를 통해 인덱스의 값들을 전부 number로 변경해줘야 한다.
'프로그래머스 1단계' 카테고리의 다른 글
문자열 내림차순으로 배치하기(JS) (0) | 2023.08.27 |
---|---|
약수의 개수와 덧셈(JS) (0) | 2023.08.16 |
음양 더하기(JS) (0) | 2023.08.16 |
x만큼 간격이 있는 n개의 숫자(JS) (0) | 2023.08.07 |
약수의 합(JS) (0) | 2023.07.26 |