문제 설명
자연수 n이 주어지면, n의 각 자릿수의 합을 구해서 리턴하는 solution 함수를 완성한다.
예를 들어 n = 123이면 1 + 2+ 3 = 6을 리턴한다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
n | answer |
123 | 6 |
987 | 24 |
입출력 예 설명
입출력 예 #1
문제의 예시와 같다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 된다.
초기 코드
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("Hello Java");
return answer;
}
}
정답 코드
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
for(int i=0; i<11; i++){
answer+=n%10;
n/=10;
if(n==0) break;
}
return answer;
}
}
코드 설명
n의 범위는 최대 11자리이다. 즉 11번 이상 나눌 필요가 없다.
answer에는 n을 10으로 나눈 나머지 값이 들어간다. 이후 다른 자리의 수를 계산하기 위해 n을 10으로 나누어준다.
이 코드는 n의 최대 자릿수를 염두에 두고 만들었기 때문에 그보다 작은 수가 n으로 들어온다면 n은 결국 0이 되고, 의미 없는 반복이 된다. 따라서 n이 0이 된다면 반복문을 빠져나간다.
'programmers-코딩테스트 연습 > Level 1. 자바' 카테고리의 다른 글
2021-06-11 / 짝수와 홀수 (0) | 2021.06.11 |
---|---|
2021-06-11 / 정수 제곱근 판별 (0) | 2021.06.11 |
2021-06-10 / 자연수 뒤집어 배열로 만들기 (0) | 2021.06.10 |
2021-06-09 / 이상한 문자 만들기 (0) | 2021.06.09 |
2021-06-09 / 약수의 합 (0) | 2021.06.09 |