https://programmers.co.kr/learn/courses/30/lessons/12931

 

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

 

 

문제 분석

- 자연수 n을 10으로 나누어 나머지를 정답 변수에 더한다.

- 몫을 10으로 나누어가며 몫이 양의 정수가 아닐 경우 종료하여 정답을 반환한다.

 

 

문제 풀이

1. while문을 통해 각 자리수의 합을 더한다.

2. 정답 변수(answer)에는 자연수 n을 10으로 나누어 마지막 자리수부터 값을 더한다.

3. 자연수 n을 10으로 나누어 몫이 양의 정수일 경우 계속 반복한다.

4. 몫이 양의 정수가 아닐 경우 break문을 통해 while문을 종료하고 정답을 반환한다.

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;

        while(true){
            if(n<=0){
                break;
            }
            
            answer += n%10;
            n/=10;
        }

        return answer;
    }
}

 

 

https://github.com/SOEUN2/Algorithm