자릿수의 합

yonny·2022년 10월 10일
0
post-custom-banner

코드 구현력 기르기

문제

N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력
하는 프로그램을 작성하세요. 각 자연수의 자릿수의 합을 구하는 함수를 def digit_sum(x)를
꼭 작성해서 프로그래밍 하세요.

입력설명

첫 줄에 자연수의 개수 N(3<=N<=100)이 주어지고, 그 다음 줄에 N개의 자연수가 주어진다.
각 자연수의 크기는 10,000,000를 넘지 않는다.

출력설명

자릿수의 합이 최대인 자연수를 출력한다. 자릿수의 합이 같을 경우 입력순으로 먼저인 숫자를 출력합니다.

예제

입력
3
125 15232 97
출력
97

<내 풀이>

import sys
# sys.stdin = open('in1.txt', 'rt')

N = int(input())
num = list(map(int, input().split()))
sum = []

def digit_sum(x) :
  sum = 0
  length = len(str(x))
  for i in range(length-1,-1,-1):
    sum += x // (10 ** i)
    x = x % (10 ** i)
  return sum
  
for x in num :
  sum.append(digit_sum(x))

max = max(sum)
for i in range(len(sum)):
  if max ==sum[i]:
    print(num[i])
    break
post-custom-banner

0개의 댓글