프로그래머스

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

jjangsh 2024. 8. 1. 21:26

문제 :

 

 

내 풀이 :

function solution(n) {
  let sum = 0;
  let str = n.toString().split('');
  for(let i = 0; i < str.length; i++) {
      sum += Number(str[i]);
  }
  return sum;
}

 

주어진 정수 n을 toString()으로 문자열 배열로 만들고, 반복문을 통해 각 자리 숫자를 다시 Number()로 숫자로 만든 후 sum에 더해서 리턴했다.

 

 

다른 사람의 풀이 :

function solution(n) {
    let result = 0;

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

 

n % 10을 사용하여 마지막 자리 숫자를 구하고, result에 더했다.

 

그리고 n은 Math.floor(n / 10)을 통해 마지막 자리 숫자를 제외한 나머지 숫자로 갱신된다.

 

이 과정이 n이 0이 될 때까지 반복된다.

 

나머지 연산자를 통해 마지막 자리의 숫자를 뽑아내서 더할 생각은 하지 못했는데, 이렇게도 응용할 수 있구나라고 느꼈다.