[참고 블로그]
shoark7.github.io/programming/algorithm/tower-of-hanoi
[코드]
# 하노이의 탑 경로출력 - 출처 : https://shoark7.github.io/programming/algorithm/tower-of-hanoi
MSG_FORMAT = "{}: {} -> {}"
def move(N, start, to):
print(MSG_FORMAT.format(N, start, to))
def hanoi(N, start, to, via):
if N == 1:
move(1, start, to)
else:
hanoi(N-1, start, via, to) # 제일 큰 원반을 제외하고 모두 경유지에 쌓는다
move(N, start, to) # 제일 큰 원반을 도착지로 옮긴다
hanoi(N-1, via, to, start) # 경유지에 있던 모든 원반을 다시 도착지로 옮긴다
hanoi(2, 'A', 'C', 'B')
print()
hanoi(3, 'A', 'C', 'B')
print()
hanoi(4, 'A', 'C', 'B')
[설명]
'알고리즘' 카테고리의 다른 글
[python]programmers - 메뉴리뉴얼 (0) | 2021.07.21 |
---|---|
[python]programmers - 더맵게 (0) | 2021.07.20 |
[python] dijkstra 알고리즘 (0) | 2021.03.22 |
[python]programmers-소수찾기 (0) | 2021.02.26 |
[python]programmers-방금그곡 (0) | 2020.11.30 |