728x90
문제
자연수 n이 매개변수로 주어진다.
자연수 n의 각 자릿수를 더한 합을 구해서 반환하는 함수를 작성하라.
예시
n | result |
123 | 6 |
987 | 24 |
나의 풀이
function solution(n) {
let sum = 0;
n.toString().split("").map((v) => sum += +v);
return sum;
}
다른 풀이
function solution(n){
return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0);
}
풀이 방법
먼저 주어진 정수 n을 toString() 함수를 사용해서 문자열로 바꿔준다.
그리고 split() 함수를 사용해서 각 자릿수를 원소로 하는 배열로 변환한다.
sum 변수에 각 자릿수를 number 타입으로 변환해서(+) 더해주고 그 값을 반환한다.
다른 사람의 풀이를 보면 나의 풀이 방법과 비슷한데 두 가지 다른 점이 있다.
먼저 toString()을 사용하는 대신 (n+"")를 사용해서 정수를 문자열로 변경해준다.
그리고 변수를 따로 선언하지 않고 reduce 함수를 사용해서 초기값(0)에 각 자릿수를 더해준다.
728x90
'🧬알고리즘 > Programmers' 카테고리의 다른 글
[JavaScript] 정수 제곱근 판별 (0) | 2024.08.20 |
---|---|
[JavaScript] 자연수 뒤집어 배열로 만들기 (0) | 2024.08.19 |
[JavaScript] 시저 암호 (0) | 2024.08.19 |
[JavaScript] 문자열 다루기 기본 (0) | 2024.08.16 |
[JavaScript] 문자열 내 마음대로 정렬하기 (0) | 2024.08.13 |
댓글