문제
자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성
🔑 KeyPoint!
각 자연수의 자릿수의 합을 구하는 함수를 def digit_sum(x)를 사용하여 코드 작성!
import sys
sys.stdin = open("1-6 자릿수의 합/input.txt", "rt")
n = int(input())
a = list(map(int, input().split()))
def digit_sum(x):
sum = 0
# 1. type(int) 의 경우
# while x > 0:
# sum += x % 10
# x = x // 10
# 2. type(str) 의 경우
for i in str(x):
sum += int(i)
return sum
max = -2147000000
for x in a:
tot = digit_sum(x)
if tot > max:
max = tot
result = x
print(result)
type(x) == int
x
를 %
연산을 통해 1의 자리수를 구하고 //
연산으로 1의 자리수 삭제while
조건으로 x의 값이 0보다 클 경우 계속 실행type(x) == string
x
의 자리수를 순서대로 조회하고 sum
변수에 정수형으로 변환하여 합산