전형적인 하노이 탑 구현 문제이다.
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
'알고리즘 > 백준' 카테고리의 다른 글
[BOJ] [Python] 5052 : 전화번호 목록 (0) | 2021.10.27 |
---|---|
[BOJ] [Python] 4358 : 생태학 (0) | 2021.10.27 |
[BOJ] [Python] 14621 : 나만 안되는 연애 (0) | 2021.10.25 |
[BOJ] [Python] 1197 : 최소 스패닝 트리 (0) | 2021.10.08 |
[BOJ] [Python] 18116 : 로봇 조립 (0) | 2021.10.07 |