
#include<stdio.h>
int digit_sum(int x)
{
int temp = 0;
int sum = 0;
while(x > 0){
temp = x % 10;
sum += temp;
x = x / 10;
}
return sum;
}
int main(){
int n;
scanf("%d", &n);
int a[n];
for(int i = 0; i < n; i++)
scanf("%d", &a[i]);
int max_sum = 0;
int num = 0;
for(int i = 0; i < n; i++)
{
int sum = digit_sum(a[i]);
if(sum > max_sum)
{
max_sum = sum;
num = a[i];
}
else if(sum == max_sum)
{
if(a[i] > num)
num = a[i];
}
}
printf("%d", num);
return 0;
}
1. 자릿수의 합은 % 연산자로 구한다.
2. int a[n] 선언 후 scanf("d", &a)로 하지않고 for문으로 하는 이유는 다음과 같다.
int a[8] 의 모습 (0으로 초기화)
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1) scanf("d", &a)로 15252를 입력받았을 때
1 | 5 | 2 | 5 | 2 | 0 | 0 | 0 |
2) for문으로 15252 를 받았을 때
15252 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
