[백준] 11729번 하노이 탑 이동 순서 _ 문제 풀이



1. 문제

https://www.acmicpc.net/problem/11729

2. 풀이

  • hanoi 탑은 출발지(from), 임시장소(sub), 도착지(to) 3가지로 이루어져있습니다. 순서는 아래와 같습니다.
    • n번째 요소를 제외한 n-1개의 요소들을 sub로 옮깁니니다.
    • n번째 요소를 바로 도착지 to로 옮깁니다.
    • sub에 있는 요소들을 from을 임시장소로 이용하여 to로 옮깁니다.
move_arr = []
def hanoi(n, fromm, sub, to):
    if n == 0:
        return
    hanoi(n - 1, fromm, to, sub)
    move_arr.append([fromm, to])
    hanoi(n - 1, sub, fromm, to)

hanoi(int(input()), 1, 2, 3)
print(len(move_arr))
[print(x[0], x[1]) for x in move_arr]