https://school.programmers.co.kr/learn/courses/30/lessons/12931
def solution(n):
arr = str(n)
answer = 0
for i in range(len(arr)):
answer += int(arr[i])
return answer
자리수를 어떻게 구분지어 나누어줄까를 고민했다. str형태로 바꿔줄까? 아니면 10씩 나눈 나머지에 나눈값을 반복문을 통해서 해야하나를 고민하다가 우선 바로 적용해볼수있는 방법을 선택하여 문자열로 변경 하는 풀이방법으로 진행해보았다.
def sum_digit(number):
if number < 10:
return number;
return (number % 10) + sum_digit(number // 10)
내가 위에서 생각했던 방법대로 진행한 코드가 있는데, 재귀함수를 통해서 이문제를 해결했다. 정말 감탄했다. 10보다 작은 값은 그냥 더하여주고, 계속 10으로 나눈 나머지와 10으로 나누어가면서 더해주는 코드가 정말 완벽한 것같다. 아직 재귀함수에 대해서 자신감이 부족하고, 무겁게 느껴지는데 이런 풀이방법도 생각해가면서 풀어봐야겠다.