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 |
Tags
- 일상
- C++
- 백준
- web
- react
- 공부
- 정렬
- Redux
- 알고리즘
- Operating System
- js to ts
- 협업
- Java
- 파이썬
- memory
- 프로그래머스
- 스프링
- 타입스크립트
- 리덕스장바구니
- 분할메모리할당
- Spring
- 코드업
- error
- 자료구조
- CPU 스케줄링
- react-redux
- 토이프로젝트
- 기초100제
- codeup
- OS
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