프로그래머스 자릿수 더하기 문제

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        // 주어진 수 n을 자릿수마다 나눠서 더합니다.
        while (n > 0) {
            answer += n % 10;  // 현재 자릿수의 숫자를 더함
            n /= 10;           // 다음 자릿수로 이동
        }
        
        return answer;
    }
}

 

- 현재 자릿수의 숫자를 더함

주어진 정수 n을 10으로 나눈 나머지값은 1의자리 숫자이다.

때문에 answer에 계속 현재 자릿수의 숫자를 더해준다.

 

- 다음 자릿수 이동

주어진 정수 n을 10으로 나누면 1의자리 숫자가 소수점 첫째 자리가 되고 나눈 값을 int형인 answer에 넣으면

원래 10의 자리였던 수가 1의 자리로 오고 원래 1의자리였던 수는 없어지게된다.

즉, 다음 자릿수로 이동하게 된다.

ex.) n=1234 -> n = 123