본문 바로가기

카테고리 없음

[BOJ] 백준 11729 파이썬 - 하노이 탑 이동 순서

728x90

<정답 코드>

def hanoi(n, a, b, c):
    if n == 1:
        print(a, c)             # 1 -> 3으로 바로
    else:
        hanoi(n-1, a, c, b)     # 제일 큰 원판 제외 모두 1 -> 2로 옮김
        print(a, c)             # 제일 큰 원판 1 -> 3
        hanoi(n-1, b, a, c)     # 2의 역할을 했던 막대가 1의 역할로 변경되고 1이 2의 역할을 하며 재귀


n = int(input())
print(2**n-1)
hanoi(n, 1, 2, 3)

 

728x90