Algorithm Programming/Java
[알고리즘 자바] 자릿수의 합
DOGvelopers
2020. 1. 9. 12:39
반응형
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'
| 문제
N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성하세요. 각 자연수의 자릿수의 합을 구하는 함수를 int digit_sum(int x)를 꼭 작성해서 프로그래밍 하세요.
| 입력설명
자연수의 개수 N(3<=N<=100)이 주어지고, 그 다음 줄에 N개의 자연수가 주어진다. 각 자연수의 크기는 10,000,000를 넘지 않는다.
| 출력설명
자릿수의 합이 최대인 자연수를 출력한다.
| 입력 예제
3
125 15232 97
| 출력 예제
97
| 풀이
digit_sum(125)
x = 125 , tmp = 5 = 125 % 10 , sum = 0+5 , x = 12 = 125/10
x = 12 , tmp = 2 = 12 % 10 , sum = 5+2 , x = 1 = 12/10
x = 1 , tmp = 1 = 1 % 10, sum = 7+1 , x = 0 = 1/10
한 자리씩 더해줌
8 > -2147...
max = 8;
res = 125
13 > 8
max = 13;
res = 15232
16 > 13
max = 16;
res = 97
public class Test10 {
static int digit_sum(int x){
int sum = 0, tmp;
while(x>0){
tmp=x%10;
sum=sum+tmp;
x=x/10;
}
return sum;
}
public static void main(String[] args) {
int n, i, sum = 0, max=-2147000000, res = 0;
int[] num = {125,15232,97};
n = 3;
for(i=0;i < n; i++){
sum=digit_sum(num[i]);
if(sum > max){
max=sum;
res=num[i];
}
}
System.out.printf("%d\n",res);
}
}
반응형