level0_자릿수 더하기
2024. 10. 29. 20:57ㆍ파이썬_알고리즘(코딩테스트)/level0

내가 제출한 코드
def solution(n):
answer = 0
for i in str(n):
answer += int(i)
return answer
- 정수 n을 문자열로 변환 시킨후, 문자열의 각 문자를 하나씩 반복한다.
- 문자열에서 가져온 각 자리수를 정수로 변환한 후 answer에 더하고, 최종적으로 모든 자리수를 더한 answer을 반환한다.
다른 사람이 제출한 코드
def solution(n):
answer = 0
while n:
n, r = divmod(n, 10)
answer += r
return answer
- while n
- n이 0이 아닐때까지 계속 반복한다.
- divmod(n, 10)
- n을 10으로 나눈 몫과 나머지를 동시에 반환한다.
- n을 10으로 나누면 몫에는 n의 마지막 자리수를 제외한 값이 남고, 나머지에는 마지막 자리수가 저장된다.
- 예를 들어서 예시에서 나온 n값 10을 대입해서 본다면, n(몫)은 1이되고, r(나머지)는 0이 된다.
- 반복할 때마다 n의 마지막 자리수가 answer에 더해진다.
'파이썬_알고리즘(코딩테스트) > level0' 카테고리의 다른 글
| level0_문자열을 정수로 변환하기 (0) | 2024.10.29 |
|---|---|
| level0_문자열로 변환 (0) | 2024.10.29 |
| level0_부분 문자열인지 확인하기 (0) | 2024.10.28 |
| level0_부분 문자열 (0) | 2024.10.27 |
| level0_정수 찾기 (0) | 2024.10.27 |