본문 바로가기

Development

BOJ 1914 (하노이 탑)

def hanoi(n, start, end, via):
	if n == 1:
		print(start, end)
	else:
		hanoi(n-1, start, via, end)
		print(start, end)
		hanoi(n-1, via, end, start)

n = int(input())
print((2**n)-1)
if n <= 20:
	hanoi(n,1,3,2)

문제를 봤을 때, 재귀적으로 풀면 된다는 생각은 들었지만 구현까지는 힘들었다. 이해하는데 엄청 도움이 된 링크를 첨부하겠다.

https://shoark7.github.io/programming/algorithm/tower-of-hanoi

 

'Development' 카테고리의 다른 글

BOJ 11650 (좌표 정렬하기)  (0) 2021.01.16
BOJ 1018 (체스판 다시 칠하기)  (0) 2021.01.14
BOJ 1002 (터렛)  (0) 2021.01.10
BOJ 1316(그룹 단어 체커)  (0) 2021.01.07
BOJ 1577(단어공부)  (0) 2021.01.06