Python출력 결과어려움 · 30점#재귀#함수#리스트

69. 하노이 탑 재귀의 이동 기록

다음 Python 프로그램의 실행 결과를 쓰시오.

1moves = []
2
3
4def hanoi(n, src, via, dst):
5 if n == 1:
6 moves.append(src + dst)
7 return 1
8 a = hanoi(n - 1, src, dst, via)
9 moves.append(src + dst)
10 b = hanoi(n - 1, via, src, dst)
11 return a + 1 + b
12
13
14cnt = hanoi(3, "P", "Q", "R")
15print(cnt)
16print(" ".join(moves))
17print(moves[3], moves.count("PR"))

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.