Notice
Recent Posts
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
관리 메뉴

교대최소제곱법

[백준 파이썬 1914번 하노이 탑] 하노이 탑의 이해 본문

코딩테스트

[백준 파이썬 1914번 하노이 탑] 하노이 탑의 이해

옐라크레 2023. 10. 14. 16:39

하노이탑 문제의 답은 2**N - 1 이다.

라고 외웠었는데 왜 그럴까?

 

하노이탑의 기본 원리는 N개를 2번 기둥으로 옮기고 가장 큰 원판을 3번 기둥으로 옮긴 뒤 다시 N개를 3번 기둥으로 옮기는 방식이다.

즉,

hanoi(n-1) + 1 + hanoi(n-1)

그럼 이게 왜 2**N - 1 일까?

만약 3번의 재귀를 돌았을 때를 계산해보면 다음과 같다.

2(2(2(x + 1) + 1) + 1 = 8x + 4 + 2 + 1

결국 1 + 2 + 4 + 8 + ... = 2**N - 1 인 것이다.

 

1914번: 하노이 탑

세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로

www.acmicpc.net