출처/프로그래머스
● 문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를 들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
● 제한 사항
- N의 범위 : 100,000,000 이하의 자연수
● 입출력 예
N | answer |
123 | 6 |
987 | 24 |
● 입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
나의 풀이
function solution(n){
return n.toString().split("").reduce((acc, res) => acc + Number(res), 0)
}
숫자를 배열로 변환하고 reduce() 를 사용하여 각 자릿수의 값을 더해주었다.
후기
// 다른 사람의 풀이
function solution(n){
var sum = 0;
do {
sum += n%10;
n = Math.floor(n/10);
} while(n > 0);
return sum;
}
문제 자체는 쉽게 풀었으나,
다른 사람의 풀이를 보고, 이런 방식으로도 숫자를 배열로 만들 수 있다는 것을 알게 되었던 문제였다.
'Programmers > Level 1' 카테고리의 다른 글
[프로그래머스 / JavaScript] - 정수 제곱근 판별 (0) | 2022.04.29 |
---|---|
[프로그래머스 / JavaScript] - 이상한 문자 만들기 (0) | 2022.04.28 |
[프로그래머스 / JavaScript] - 제일 작은 수 제거하기 (1) | 2022.04.26 |
[프로그래머스 / JavaScript] - 정수 내림차순으로 배치하기 (0) | 2022.04.25 |
[프로그래머스 / JavaScript] - 핸드폰 번호 가리기 (0) | 2022.04.25 |