이카's

1. 문제

N개의 자연수가 입력되면
자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수 출력
자릿수의 합 구하는 함수 만들기

코드 구현 생각
처음에는 잘 이해 안됐지만 쉽게 생각하니 쉬웠다.
111111 이 주어진다면 1을 6번 더하면 된다는 말 즉 return 값은 6
999 라면 각각 자리의 숫자를 합하는 것

1.1. PYTHON

<code />
# 문자열 방법 def solution(x): total = [] sum = 0 for i in x: for j in str(i): sum += int(j) total.append(sum) sum = 0 max_num = 0 for i in total: if i > max_num: max_num = i answer = x[total.index(i)] return answer

이 방법이 너무 신기했다. 처음 숫자를 가져올때는 문자열로 가져와서 형변환을 하면서 자릿수를 합하는 방법
뭔가 python 스럽고 신기한 알고리즘 방법인거 같다.

<code />
# 숫자로 생각하여 10으로 나누는 방법 def digit_sum(x): answer = 0 total = [] score = 0 for i in x: while i > 0: score += i % 10 i = i // 10 total.append(score) score = 0 max_num = 0 for i in total: if i > max_num: max_num = i answer = x[total.index(i)] return answer

다들 생각하는 방법 일듯 하여... 자세한 설명은 생략한다..

반응형
profile

이카's

@Edan Cafe ☕

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!