Base Case
와 Recursive Case
재귀란 : 자신의 문제 해결을 위해서 스스로를 사용하는 것!
따라서 재귀는 Base Case
와 Recursive Case
로 이루어져있다.
Base Case
: if 문의 부분, 바닥에 닿았을 때 재귀를 끝내는 경우Recursive Case
: else 안의 부분이며 재귀적(Recursive)으로 반복하게 하는 경우이다.➡️ 1. Recursive Case의 경우, 재귀적으로 호출하는 내 자신 메서드가 해결하고자 하는 문제가 항상 내가 해결하고자 하는 문제보다 작은지를 확인해야한다.
2. 이 작은 문제가 재귀적으로 진행될 때 최종적으로 Base Case에 도달할 수 있어야한다.
def hanoi(num, from_, to, other):
result = []
if num == 0 : return 0
hanoi(num-1,from_,other,to)
print(str(from_) + " " + str(to))
hanoi(num-1,other, to, from_)
x = int(input())
print(2**x-1)
hanoi(x,1,3,2)
🥲 도저히 내 머리로는 풀 수 없었다...^^ 진짜 더 슬프다..ㅜㅜ