어떤 문제를 해결할 때, 구조는 동일하지만 더 작은 경우를 해결함으로써 그 문제를 해결하는 방법
함수가 자기 자신을 다시 호출하는 것을
재귀 호출
방식 이라고 한다.
재귀적으로 사고하려면 문제를 바라보는 시각을 바꿔야 한다.
재귀 함수의 입력값과 출력값 정의하기
문제를 쪼개고 경우의 수를 나누기
순서와 크기
arrSum([1, 2, 3, 4])
arrSum([1, 2, 3])
arrSum([])
arrSum([e1, e2, ... , en])
단순한 문제 해결하기 (base case)
복잡한 문제 해결하기
arrSum([e1, e2, ... , en]) = e1 + arrSum([e2, ... , en])
코드 구현하기