코드잇 알고리즘 강의!
: 자기 자신을 호출하는 함수
재귀적으로 문제를 푼다는 것 = 같은 형태의 더 작은 문제를 풀고, 부분 문제의 답을 이용해서 기존 문제를 푸는 것
재귀함수 문제는 경우를 나눠서 풀어야 한다.
def factorial(n):
if n == 0: # base case 구현
return 1
return factorical(n-1) * n # recursive case 구현
print(factorial(5))
재귀 함수 문제는 반복문으로도 풀 수 있다
재귀함수 단점
: 파라미터로 정수값 n을 받고, n의 각 자릿수의 합을 리턴해주는 재귀함수 sum_digits를 작성하라.
def sum_digits(n):
if n < 10:
return n
return n % 10 + sum_digits(n // 10)