백준 재귀 단계: 하노이탑 11279번 (파이썬)

코린이서현이·2024년 1월 4일
0

🛎️ 11729번 문제 : 하노이 탑...?

하노이 탑

🤔 재귀에 대해서 더 고민해보자. : Base CaseRecursive Case

재귀란 : 자신의 문제 해결을 위해서 스스로를 사용하는 것!

따라서 재귀는 Base CaseRecursive 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)

🥲 도저히 내 머리로는 풀 수 없었다...^^ 진짜 더 슬프다..ㅜㅜ

profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글