문제
N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성하세요.
조건
각 자연수의 자릿수의 합을 구하는 함수를 def digit_sum(x)를 꼭 작성해서 프로그래밍 하세요.
제한사항
첫 줄에 자연수의 개수 N(3<=N<=100)이 주어지고, 그 다음 줄에 N개의 자연수가 주어진다. 각 자연수의 크기는 10,000,000를 넘지 않는다.
자릿수의 합이 최대인 자연수를 출력한다. 자릿수의 합이 같을 경우 입력순으로 먼저인 숫자 를 출력합니다.
문제풀이
def digit_sum(x):
ans=0
while x > 0:
ans+=x%10
x//=10
return ans
N = int(input())
a = list(map(int, input().split()))
dic={}
for i in a:
m = digit_sum(i)
dic[i] = m
b = [k for k, v in dic.items() if v == max(dic.values())]
print(b[0)'파이썬 알고리즘 풀이' 카테고리의 다른 글
| 8) 뒤집은 소수 (0) | 2021.10.19 |
|---|---|
| 7) 소수(에라토스테네스 체) (0) | 2021.10.19 |
| 5) 정다면체 (0) | 2021.10.19 |
| 4) 대표값 (0) | 2021.10.19 |
| 3) K번째 큰 수 (0) | 2021.10.19 |