알고리즘 (프로그래머스)

자릿수 더하기 js ( String, split, reduce )

MotherCarGasoline 2022. 5. 19. 09:54

문제 설명

자연수 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((acc,cur) => acc += Number(cur),0)
                 //   ["1","2","3"]  //       합       //  [6] 숫자 변환      ,0은 초기값
                 // 숫자를 각각 나누기 위해 문자열로 바꿔서 합치고 다시 숫자로 바꾼다
                 //number(소수점 쓸 때) 대체 parseInt(문자가 있어도 숫자만 반환가능)
    return answer
}

// reduce((누적값(0),현재값('1')) => 0(정수) =+ Number('1'),0)
// (문자열+정수 = 문자열) 방지차원으로 초기값 0(정수)이 필요!
// 초기값 0이면 누적값'1'이 들어감 안쓰면 '123'