본문 바로가기

TIL(today i learned)/프로그래머스-코딩테스트

[연습문제] [Lv.1] 자릿수 더하기

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

 

간단하게, 각자리수를 반환할 수 있도록 숫자를 문자로 바꿔준 다음 for loop을 통해 각 자리의 숫자를 숫자형으로 바꾸어 더해주었다.

같은 로직으로 split('')함수를 사용해 array로 만든 후 map, reduce 등을 사용할 수도 있겠다.

function solution(n) {
  let answer = 0;
  let num = n.toString();
  for (let i = 0; i < num.length; i++) {
    answer += Number(num[i]);
  }
  return answer;
}
function solution(n) {
  return (n + "").split("").reduce((a, b) => +a + +b);
}