반응형
알고리즘 분류
- 재귀
SOLUTION
import sys
def hanoi_tower(N, first, second, third):
if N == 1:
print(first, third)
else:
hanoi_tower(N-1, first, third, second)
print(first, third)
hanoi_tower(N-1, second, first, third)
N = int(sys.stdin.readline())
print(2**N-1)
hanoi_tower(N,1,2,3)
# N % 2 == 0 이면 첫 원판이 1 -> 2 으로 이동
# N % 2 == 1 이면 첫 원판이 1 -> 3 으로 이동
'코딩테스트 대비 > 단계별 코딩 테스트 준비(27일 과정)' 카테고리의 다른 글
[브루트포스/Python] 1436번: 영화감독 숌 - 효과는 굉장했다! (0) | 2022.02.11 |
---|---|
[브루트포스/Python] 2798번: 블랙잭 - 효과는 굉장했다! (0) | 2022.02.11 |
[재귀/Python] 10870번: 피보나치 수 5 - 효과는 굉장했다! (0) | 2022.02.11 |
[math3/Python] 1002번: 터렛 - 효과는 굉장했다! (0) | 2022.02.11 |
[math3/Python] 9020번: 골드바흐의 추측 - 효과는 굉장했다! (0) | 2022.02.11 |