본문 바로가기

코딩테스트/Level1

자릿수의 합

문제

N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고,
그 합이 최대인 자연수를 출력하는 프로그램을 작성하세요.

입력 예제
5
125 15232 79 1325 97

 

출력 예제
97

public class problem10 {

	public static void main(String[] args) {		
		int[] input = {125, 15232, 97, 1325, 79};
		int result = method(input);
		
		System.out.println(result);		

	}
	
	public static int method(int[] input) {
		int max = -1;
		int seq = 0;
		
		for(int i=0; i<input.length; i++) {
			int sum = digit_sum(input[i]);		
								
			if(sum > max || (sum==max && input[seq] <input[i])) {
				max = sum;	
				seq = i;
			}
			
		}		
		
		return input[seq];
		
	}
	
	public static int digit_sum(int x) {
		int sum = 0;
			
		while(x>0) {
			sum += x%10;
			x = x/10;
		}
		
		return sum;
	}

}

'코딩테스트 > Level1' 카테고리의 다른 글

가장 많이 사용된 자릿수  (0) 2022.02.09
숫자의 총 개수  (0) 2022.02.09
모두의 약수  (0) 2022.02.09
올바른 괄호  (0) 2022.02.09
영어단어 복구  (0) 2022.02.09