🧬알고리즘/Programmers

[JavaScript] 자릿수 더하기

뉴발자 2024. 8. 19.
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

댓글