코딩테스트 연습 복기용
하노이 탑 문제
01241
2023. 2. 23. 16:36
어제 자기 전에 재귀함수 공부하다가 잡았던 문제이다.
알고리즘 자체는 어렵지 않은데 코딩으로 옮기기 생각보다 난감했던 문제이다.
N = int(input())
def hanoi(s, e, k):
another = 6 - e - k
if s > 1:
hanoi(s-1, e, another)
print(e, k)
if s > 1:
hanoi(s-1, another, k)
print(2**N-1)
hanoi(N,1,3)
밑의 2**N -1 은 풀어써도 돼지만, 규칙성 찾아서 빠르게 계산하기 위해 사용했다.