본문 바로가기

알고리즘/백준

[BOJ] [Python] 1914: 하노이 탑

전형적인 하노이 탑 구현 문제이다.

 

 

def honoi_tower(n, start, tmp, end):
    if n == 1:
        print(start, end)

    else:
        honoi_tower(n-1, start, end, tmp)
        print(start, end)
        honoi_tower(n-1, tmp, start, end)


num = int(input())

print(2 ** num - 1)
if num <= 20:
    honoi_tower(num, 1, 2, 3)

 

 

 

 

풀이는 아래 게시물을 참고하자.

 

https://sojeong-lululala.tistory.com/188

 

[대학교 수업][자료구조][순환[재귀]] 하노이 탑

하노이 탑을 구현해보자. n개의 하노이 탑이 있다면, 가장 큰 원판을 제외하고 모두 이동시킨다. 1. C를 임시버퍼로 사용하여 A에 쌓여있는 n-1개의 원판을 B로 옮긴다. 2. A의 가장 큰 원판을 C로 옮

sojeong-lululala.tistory.com