[Javascript] 프로그래머스 level1 자릿수 더하기

daybyday·2021년 1월 14일
0

프로그래머스

목록 보기
8/12
post-thumbnail

문제

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항

  • N의 범위 : 100,000,000 이하의 자연수

나의 풀이

10으로 나눈 나머지를 더해가는 방식. n이 0이 될 때까지 반복한다.
이 때 n/10만 하고 console.log(n)을 찍었더니 소수점 이하 값까지 나오므로 Math.floor를 꼭 해줘야겠다.


function solution(n)
{
    let acc = 0;
  
    do{
        acc += n%10;
        n = Math.floor(n/10);
    } while(n>0);

    return Math.floor(acc);
}

다른 사람의 풀이

function solution(n){
    return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0);
}

알게 된 내용

누적값을 구할 때는 reduce를 쓰자

0개의 댓글