Recursion (재귀)재귀란 함수가 자기 자신을 호출하는 것이다. 구조는 단순하지만, 잘못 쓰면 엄청나게 비효율적인 코드가 되기도 한다. 이번 글은 복습하면서 헷갈렸던 부분을 중심으로 정리했다.1. 재귀의 두 가지 구성 요소재귀 함수는 반드시 두 가지를 가져야 한다.Base case: 재귀를 멈추는 조건Recursive call: 자기 자신을 호출해 base case로 다가가는 과정여기서 base case를 "시작점"으로 생각하기 쉬운데, 정확히는 멈추는 조건이다. base case가 없으면 함수가 영원히 자기 자신을 호출하는 infinite recursion이 발생한다.2. Factorialdef factorial(n): if n == 0: return 1 else: ..