알고리즘 문제풀기/인프런 강의 정답

10. 자릿수의 합 [코드구현력 기르기]

코다람쥐 2022. 3. 14. 11:50

나의정답.

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>

using namespace std;

int digit_sum (int x){
	int sum = 0;
	while(x != 0){
		sum += x % 10;
		x /= 10;
	}
	return sum;
}

int main(int argc, char** argv) {

	//freopen("input.txt", "rt", stdin);
	
	int n;
	int num[100];
	int sum;
	int max_digit_sum = 0;
	int max_index =0;
	scanf("%d", &n);
	
	for(int i = 0 ; i < n ; i++){
		scanf("%d", &num[i]);	
		sum = digit_sum(num[i]);
		
		if(sum > max_digit_sum){
			max_digit_sum = sum;
			max_index = i;
		}
		else if(sum == max_digit_sum){
			(num[i] > num[max_index]) ? max_index = i : max_index = max_index;
		}
	}
	
	printf("%d", num[max_index]);
}