Develop/Programmers

[프로그래머스] (JAVA) LV1 자리수 더하기

eroul-ri 2022. 11. 18. 23:36

프로그래머스 JAVA문제

LV1. 자리수 더하기

 

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.

예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

import java.util.*;

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

        while (n > 0) {
            answer += n % 10;
            n = n / 10;
        }
        return answer;
    }
}

 

해설

- 정수 n 을 10으로 나눈 나머지가 마지막 자리수, 계속 일의 자리수를 꺼내오기 위해 n을 10으로 나눈 값을 n에 담아줌.

- 예를 들면 123을 10으로 나눈 나머지는 3, 12를 10으로 나눈 나머지는 2, 1을 10으로 나눈 나머지는 1 

- n이 0인 경우는 더이상 꺼낼 자리수가 없기 때문에 더이상 수행하지 않도록 n이 0보다 클때까지만 이를 반복함.