from codeit
실습과제
파라미터로 정수값 n을 받고 n의 각 자릿수의 합을 리턴해주는 재귀함수 sum_digits를 쓰세요.
def sum_digits(n):
if n < 10:
return n
string = str(n)
return int(string[0]) + sum_digits(int(string[1:]))
자릿수 -> 인덱스 부터 떠올렸음
def sum_digits(n):
# base case
if n < 10:
return n
# recursive case
return n % 10 + sum_digits(n // 10)
print(sum_digits(22541))
수학적으로 풀어냄. 10으로 나누면 1의 자릿수와 나머지를 분리할 수 있음.
//모듈러 사용하면 나머지 값이 1의 자리 수와 같음