티스토리 뷰

프로그래머스 :: 자릿수 더하기 (JS)

 

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

 

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

 

입출력 예

N answer
123 6
987 24

입출력 예 #1문제의 예시와 같습니다.
입출력 예 #29 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

 


 

문제 풀이
function solution(n, sum = 0) {
    const Arr = String(n).split('').map(Number);
    Arr.forEach(num => { sum += num; })
    return sum;
}​

 

  • Arr 배열에 n 의 각 자릿수를 넣어주고, map 함수를 이용하여 숫자로 변환하였다.
  • forEach 함수를 화살표 함수로 이용하여 각 자릿수를 더해주고, 리턴하였다.

 

다른 사람의 문제 풀이
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));
}​

 

  • 개인적으로 알아보기 편하다고 느꼈던 코드이다.
  • n 을 문자로 변환하기 위해 공백을 더해주는 모습이 인상깊다.
  • parseInt() 함수는 문자열 인자를 파싱하여 정수나 NaN을 반환한다.
  • for 문을 이용하여 b 라는 변수에 각 자릿수를 더해주고 b 를 return 한다.
  • reduce 함수는 배열을 순회하면서 각 요소를 더한 값을 반환한다.

 

 


 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함