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
다들 생각하는 방법 일듯 하여... 자세한 설명은 생략한다..
반응형
'알고리즘 문제풀이' 카테고리의 다른 글
알고리즘 유형 별 정리 (0) | 2023.05.24 |
---|---|
알고리즘을 잘 풀기 위한 팁 - 구현편(feat. 유튜버 큰돌님) (0) | 2023.05.23 |
[Algorithm]프로그래머스 체육복 #python #그리디 (0) | 2021.05.17 |