프로그래머스/연습 문제

[프로그래머스] 코딩테스트 연습 > 연습문제 > 자릿수 더하기

Jayksss 2024. 12. 16. 20:13
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항
N의 범위 : 100,000,000 이하의 자연수

 

내 풀이:

0레벨 문제들부터 요긴하게 쓰이고 있는 charAt(index)이다🤪

n이 숫자이므로 문자열 형변환을 해줘야 length 및 charAt도 작동한다.

function solution(n) {
    let answer = 0;
    for(let i = 0; i < n.toString().length; i++) {
        answer += parseInt(n.toString().charAt(i));
    }
    
    return answer;
}

 

다른 풀이:

split("")으로 쪼갠 후 처리가 많았다

이후에는 루프를 사용하거나 reduce를 사용하거나 등등...

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