본문 바로가기
문제풀이/프로그래머스

자릿수 더하기

by dev_kong 2021. 11. 24.
728x90
728x90

문제 설명

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

 

접근방법

음.. toString으로 문자열로 변경

split으로 배열로 바꾸고

reduce로 총합 구해주면 되는데

아 문자열이지 그럼 Number로 숫자로변경하고 더해주자

 

 

function solution(n) {
  return n
    .toString()
    .split('')
    .reduce((acc, cur) => acc + Number(cur), 0);
}

 

 

깔끔. 

그리고 다른 사람 답 보다가 

발견한 while 

뭔가 수학적으로 접근 하는 거 같아서 신기함

 

function getSum(n) {
  let sum = 0;
  while (n > 0) {
    sum += n % 10;
    n = Math.floor(n / 10);
  }
  return sum;
}

 

 

나 이제 이런 문제 패턴은 좀 지겨울지도...?

728x90
728x90

'문제풀이 > 프로그래머스' 카테고리의 다른 글

올바른 괄호  (0) 2021.11.26
문자열 다루기 기본  (0) 2021.11.24
이상한 문자열 만들기  (0) 2021.11.23
자연수 뒤집어 배열로 만들기  (0) 2021.11.23
문자열 내림차순으로 배치하기  (0) 2021.11.22

댓글