[Programmers] 자릿수 더하기- JS

지냐킴·2022년 7월 25일
0

코딩테스트

목록 보기
21/28
post-thumbnail

✅문제 설명

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

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

  • 입출력 예
    N answer
    123 6
    987 24

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

✅ 내 문제풀이

   function solution(n)
{

    const answer = String(n).split('').reduce((total,val)=> total + Number(val),0)
    // answer = n을 문자열로 바꿔지고 빈칸으로 나눠주고 reduce함수 사용해 총합을 구해줬다.
    //문자열을 숫자로 바꾸기 위해 Number(val) 사용 

    return answer

}

.reduce()
배열의 각 요소를 순회하며 callback함수의 실행 값을 누적하여 하나의 결과값을 반환 합니다.

const sum1 = numbers.reduce((accumulator, currentNumber) => accumulator + currentNumber);

✅ 다른 풀이 방법

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

n+"" = string(n)
parInt() 사용해 정수반환

function solution(n){
    // 숫자풀이
    var sum = 0;

    do {
        sum += n%10;
        n = Math.floor(n/10);
    } while(n > 0);

    return sum;
}
profile
코린이일기

0개의 댓글

관련 채용 정보