Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- C++
- 기초100제
- 코드업
- memory
- Operating System
- 스프링
- codeup
- CPU 스케줄링
- Java
- 백준
- 일상
- Spring
- 프로그래머스
- js to ts
- 토이프로젝트
- web
- 공부
- 자료구조
- OS
- 리덕스장바구니
- 파이썬
- 알고리즘
- react
- 협업
- 정렬
- 타입스크립트
- Redux
- error
- 분할메모리할당
- react-redux
Archives
- Today
- Total
감자튀김 공장🍟
[백준/11729] 하노이 탑 이동 순서 (with 파이썬) 본문
반응형
✔ 문제
✔ 풀이
import sys
input = sys.stdin.readline
def hanoi(x, start, end):
if x > 1:
hanoi(x-1, start, 6 - start - end)
print(start, end)
if x > 1:
hanoi(x-1, 6 - start - end, end)
n = int(input())
print(2**n - 1)
hanoi(n, 1, 3)
✔ 설명
하노이탑 규칙과 설명은 아래 유튜브를 참고하면 된다.
www.youtube.com/watch?v=FYCGV6F1NuY
6 - start - end 하는 이유가 뭔가 싶었는데 기둥의 번호를 1, 2, 3으로 준다면 기둥의 합이 1+2+3 = 6이라 6으로 주고 시작하는 것이다. 동영상에서 나오는 보조 기둥을 6-start-end로 사용해 따로 변수를 두지 않고 사용할 수 있다.
✔ 후기
증말 통곡의 하노이탑이다..
처음엔 6 - start - end가 뭔지 모르겠어서 계속 코드만 쳐다봤다.
코드는 짧은데 응축되어 있는 내용이 짧은 만큼 쉽지는 않아서 손으로 재귀 돌려가면서 다시 풀어봐야할 것 같다.
왜 알고리즘은 해도 안느는 것 같을까? ( ༎ຶŎ༎ຶ )
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[백준/2231] 분해합 (with 파이썬) (0) | 2022.11.26 |
---|---|
[백준/2798] 블랙잭 (with 파이썬) (0) | 2022.11.25 |
[백준/2447] 별 찍기 - 10 (with 파이썬) (0) | 2022.11.23 |
[백준/24060] 알고리즘 수업 - 병합 정렬 1 (with 파이썬) (0) | 2022.11.22 |
[백준/25501] 귀재의 귀재 (with 파이썬) (0) | 2022.11.21 |
Comments