반응형
문제
N개 자연수를 입력 받고 각 자릿수를 더해서 제일 큰 값의 자연수를 출력하시오
주의
풀이
import sys
n = int(input())
a = list(map(int, input().split()))
def digit_sum(x):
sum=0
# str() 함수는 받은 값을 다 쪼개서 문자열로 받는다. 123을 넣으면 1 2 3을 따로 따로 값을 문자열로 가져오는 것이다.
for i in str(x):
sum+=int(i)
return sum
max = -2147000000
# for x in a: 형식으로 작성하면 a리스트에 일일이 접근해 값을 가져온다. 리스트에 1 12 123이 있다면 그대로 1 12 123 따로따로 값을 가져오는 것이다.
for x in a:
tot=digit_sum(x)
if tot>max:
max=tot
res=x
print(res)
while문을 써도 되지만 for in str(x): 문장을 활용해도 된다.
주석을 참고하면 좋다.
반응형
'Algorithm > 파이썬 알고리즘 문제풀이 (코딩테스트대비)' 카테고리의 다른 글
[파이썬 알고리즘 문제풀이] : 뒤집은 소수 (0) | 2021.12.22 |
---|---|
[파이썬 알고리즘 문제풀이] : 소수 구하기 (에라토스테네스의 체) (0) | 2021.12.21 |
[파이썬 알고리즘 문제풀이] : 정다면체 (0) | 2021.12.16 |
[파이썬 알고리즘 문제풀이] : K번째 수 (0) | 2021.12.10 |
[파이썬 알고리즘 문제풀이] : 대표값 (0) | 2021.12.10 |
댓글