본문 바로가기
알고리즘/코딩 - 프로그래머스

[Java][프로그래머스][Level 1] 자릿수 더하기

by 주남2 2019. 4. 7.
반응형

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

제한사항

  • N의 범위 : 100,000,000 이하의 자연수

생각

% 연산자와 / 연산자를 사용하면 금방 풀 수 있는 문제이다. N = 123일 경우를 생각해보자. 각각의 자릿수를 분리해야 하므로 123 % 10을 해주면 3이 나온다. 이 3을 answer에 더해놓고 N = 123을 10으로 나누면 일의 자리 수가 없어져 12가 된다. 이런 식으로 하여 N이 0이 될 때 까지 % /연산자를 써주고 나온 한자리 수를 더해주면 완성 될 것이다. 

이런 % / 을 사용해서 푸는 문제는 회문수 구하기, 지폐 별 금액 구하기 등에서 많이 쓰이므로 알아두면 좋을 것 같다.

 

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.*;
 
public class Solution {
    public int solution(int n) {
        int answer = 0;
        int a = 0;
        
        while(true) {
            a = n%10;
            n = n/10;
            answer += a;
            
            if(n==0break;
        }
        
        return answer;
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

반응형