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

woolee의 기록보관소·2022년 10월 22일
0

알고리즘 문제풀이

목록 보기
4/178

문제 출처

프로그래머스 lev1 - 자릿수 더하기

문제 요약

자연수 N의 각 자릿수의 합 구하기.
예를 들어, 123 => 1+2+3=6

나의 풀이

toString(), split() 메서드 사용하기

function solution(n) {
  let answer = 0;
  n=n.toString().split('');
  for (let x of n) {
    answer += Number(x);
  }
  return answer;
}

다른 풀이

reduce 메서드 사용
문자열을 더할 때마다 b를 숫자로 바꿔줘야 정상적으로 연산됨.

function solution(n) {
  return n.toString().split('').reduce((a,b) => a+ parseInt(b), 0);
}

숫자를 while 10으로 나누면 각 자릿수마다 숫자가 나오므로 얘네를 더해주는 방식

function solution(n) {
  let sum=0; 

  console.log(n%10); // 끝자리 숫자 7 
  console.log(Math.floor(n/10)); // 987이 98로 바뀜 

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

console.log(solution(987));
profile
https://medium.com/@wooleejaan

0개의 댓글