본문 바로가기

알고리즘/프로그래머스 문제풀이

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

문제 설명

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

제한사항

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

입출력 예

N answer
123 6
987 24

풀이 과정

내가 작성한 코드

숫자 상태 변환 안하고 그대로 계산했음

function solution(n)
{
    const divisor = 10;
    let answer = 0;
    while(n > 0) {
        answer += n % divisor;
        n = Math.floor(n / divisor);
    }
    return answer;
}

다른 사람 코드

숫자를 문자열로 변환한 후에 자릿수 계산함 

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

❗️시간 복잡도는 숫자로 풀었을 때가 더 적음