[프로그래머스] 자릿수 더하기


문제 설명

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요


제한사항

  • 0 ≤ n ≤ 1,000,000

입출력 예

nresult
123410
93021116

입출력 예 설명

입출력 예 #1

  • 1 + 2 + 3 + 4 = 10을 return합니다.

입출력 예 #2

  • 9 + 3 + 0 + 2 + 1 + 1 = 16을 return합니다.

나의 풀이

function solution(n) {
  var answer = 0;
  return String(n)
    .split("")
    .reduce((acc, cur) => acc + cur * 1, 0);
}

나의 두번째 풀이(Code Refactoring)

function solution(n) {
  let result = 0;
  let stringToParam = String(n);
  for (i = 0; i < stringToParam.length; i++) {
    result += Number(stringToParam[i]);
  }
  return result;
}

// result로 number 초기값
// stringToParam에 매개변수를 string으로 변환
// stringToParam의 루프만큼 Number값으로 누적값을 result에 반환

참고 할 만한 다른 사람의 코드

function solution(n) {
  return Array.from(n.toString()).reduce((acc, v) => acc + +v, 0);
}

// Array.from으로 누적값 계산 방법