반응형
문제 설명
자연수 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
|
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==0) break;
}
return answer;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
반응형
'알고리즘 > 코딩 - 프로그래머스' 카테고리의 다른 글
[Java][프로그래머스][Level 1] 정수 내림차순으로 배치하기 (0) | 2019.04.11 |
---|---|
[Java][프로그래머스][Level 1] 자연수 뒤집어 배열로 만들기 (0) | 2019.04.09 |
[Java][프로그래머스][Level 1] 이상한 문자 만들기 (0) | 2019.04.06 |
[Java][프로그래머스][Level 1] 약수의 합 (0) | 2019.04.05 |
[Java][프로그래머스][Level 1] 시저 암호 (0) | 2019.04.04 |