문제
https://www.acmicpc.net/problem/1914
내가 푼 답
최근에 스터디에서 재귀로 발표를 했는데, 재귀 문제 아직 감이 안 잡힌다..ㅠ 재귀 푸는 연습을 위해서 하노이의 탑 문제 풀었다.
재귀 문제를 풀기 위해서 팁
1. 작은 거로 쪼개는 연습을 해 볼 것. →이를 바탕으로 프로그래밍이 가능하게 구체적으로 정의하기
2. 무한 루프를 나갈 장치를 만들어주기
저기 "n <= 20" 이 조건 안해주면.. 출력 초과난다..
출력 조건을 간과하고 있었다..!
import sys
def mov(start,to):
print(start,to,sep=' ')
def hanoi(n, start, to, via):
if n == 1 :
mov(n,start,to)
else:
hanoi(n-1,start,via,to)
mov(start,to)
hanoi(n-1,via,to,start)
n = int(sys.stdin.readline())
print(2**n-1)
if n <= 20:
hanoi(n,1,3,2)
'알고리즘' 카테고리의 다른 글
파이썬 / 프로그래머스 / 튜플 (0) | 2021.06.05 |
---|---|
파이썬 / 프로그래머스 / 오픈채팅방 (0) | 2021.06.01 |
파이썬 / BOJ / 11651 (좌표 정렬하기 2) (1) | 2021.03.08 |
파이썬 / BOJ / 9095번 ( 1,2,3 더하기) (0) | 2021.02.13 |
파이썬 / BOJ / 2563번 (색종이) (0) | 2021.02.10 |