Programmers | #Lv1 "자릿수 더하기"

블로그 이사 완료·2022년 9월 18일
0
post-thumbnail

문제 설명

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


제한 조건

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


입/출력 예

Nanswer
1236
98724

입/출력 예 설명

입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.


나의 풀이

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

다른 풀이

function solution(n)
{
    var a = (n + '').split('');
    var b = 0;
    for(var i = 0; i < a.length; ++i) {
        b += parseInt(a[i]);
    }
    return b;
    //return n.toString().split('').reduce((a, b) => (a * 1) + (b * 1));
}
function solution(n)
{
    var answer = 0;

    String(n).split('').map(data => answer += parseInt(data));

    return answer;
}

Review

받은 숫자를 각 자리 수 배열로 만들어 다 더하는 문제였다.

숫자를 문자배열로 만들기 위해 (n+'').split('')를 사용하고, reduce메소드를 통해 각 배열의 값을 숫자로 변환하고 더해서 값을 반환했다.


참고 : reduce() - Mdn Web Docs

profile
https://kyledev.tistory.com/

0개의 댓글