자릿수의 합
문제 정보는 인프런의 파이썬 알고리즘 문제풀이 코딩테스트에 있습니다!
문제풀이
내가 푼 문제
n = int(input())
a = list(map(int, input().split()))
lg = 8
s = 0
max = 0
res = 0
for idx, el in enumerate(a):
for i in reversed(range(1, 9)):
s += el // 10**i
el = el-((el//10**i)*10**i)
if (s > max):
max = s
s = 0
# 기존 el 값 기억해야하는 코드 추가 삽입
res = a[idx]
풀다보니 맨 마지막에 해당 기존 숫자를 출력해야한다는 것을 앎..
해당 숫자까지 기억하는 코드까지 짜야 답 구할 수 있따
++ digit_sum(x)라는 함수를 구현해야하는 것이 필수 조건이당..
n = int(input())
a = list(map(int, input().split()))
def digit_sum(x):
sum = 0
while x > 0:
# x를 10으로 나눈 나머지
sum += x % 10
# x를 10으로 나눈 몫
x = x // 10
return sum
# string을 활용하여 만든 함수
# 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
res = x
print(res)
while에서 나머지, 몫만으로 각 자리수 합 함수를 쉽게 만들 수 있다.