-
N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성하세요. 각 자연수의 자릿수의 합을 구하는 함수를 int digit_sum(int num)를 꼭 작성해서 프로그래밍 하세요.
입력설명
첫 줄에 자연수의 개수 N(3<=N<=100)이 주어지고, 그 다음 줄에 N개의 자연수가 주어진다. 각 자연수의 크기는 10,000,000를 넘지 않는다.
출력설명
자릿수의 합이 최대인 자연수를 출력한다.
입력예제
3
123 1234 56
출력예제
56
#include<iostream> using namespace std; int digit_sum(int num) { int arr[9]; int a = num; int div = 0; int ten = 10; int result = 0; for (int i = 0; i < 8; i++) { div = a; a = a / ten; div = div % ten; arr[i] = div; } for (int i = 0; i < 8; i++) { result = result + arr[i]; } return result; } int main(void) { int index = 0; int max = 0; int N=0; int arr[100]; cin >> N; for (int i = 0; i < N; i++) { cin >> arr[i]; } for (int i = 0; i < N; i++) { if (digit_sum(arr[i]) > max) { max = digit_sum(arr[i]); index = i; } } cout << arr[index]; }
'algorism' 카테고리의 다른 글
뒤집은 소수 (0) 2020.01.05 멀티태스크 - 카카오 출제 알고리즘(고급변형) (0) 2020.01.05 Special Sort - 구글 출제 알고리즘 문제 (0) 2020.01.03 Anagram - 구글 출제 알고리즘 문제 (0) 2020.01.03 괄호 패턴 (0) 2020.01.02