하루한줄 코딩일기
[인프런 - 파이썬 알고리즘 문제풀이] 2.6 자릿수의 합 본문
섹션 2.6 자릿수의 합
👊 내 문제 풀이
자릿수의 합을 돌려주는 digit_sum 함수를 작성하는 문제다. 최대한 내장함수를 사용해 간단하게 코드를 작성하려고 했다. 숫자 x를 string 처리 한 후, map 함수를 사용해 각 자릿수를 나누고 다시 int형으로 변환 한다. 다음 sum 함수로 합을 구해 각 자릿수의 합을 return 한다.
def digit_sum(x):
return sum(list(map(int,str(x)))) #list로 변환하지 않고 sum 사용 가능
N = int(input())
arr = list(map(int, input().split()))
max = -9999999
answer = 0
for i in arr:
dsum = digit_sum(i)
if dsum>max:
max = dsum
answer = i
print(answer)
채점 결과
💡 강의 해답
강의에서 작성한 digit_sum 함수는 숫자 x가 0보다 클 때 까지 while문을 돌며 x를 10으로 나눈 나머지를 sum에 누적한다. 그 후 x를 10으로 나눈 몫을 x에 저장한다.
이 외에는 내 코드와 동일하다.
def digit_sum(x):
sum=0
while x>0:
sum+=x%10
x=x//10
return sum
n=int(input())
a=list(map(int, input().split()))
res=0
max=-2147000000
for x in a:
tot=digit_sum(x)
if tot>max:
max=tot
res=x
print(res)
'Algorithm' 카테고리의 다른 글
[백준] 소수 구하기(1929번) - 파이썬(Python) (0) | 2022.01.30 |
---|---|
[인프런 - 파이썬 알고리즘 문제풀이] 2.7 소수(에라토스테네스 체) (0) | 2022.01.29 |
[백준] 5단계: 1차원 배열(1~7번) - 파이썬(Python) (0) | 2022.01.25 |
[백준] 4단계: while문(1~3번) - 파이썬(Python) (0) | 2022.01.25 |
[백준] 3단계: for문(1~11번) - 파이썬(Python) (0) | 2022.01.25 |
Comments