[백준/Python] 11729번 - 하노이탑 이동 순서

Sujin Lee·2022년 6월 28일
0

코딩테스트

목록 보기
74/172
post-thumbnail
post-custom-banner

문제

11729번 하노이탑 이동 순서

해결 과정

  • 재귀
  • 1단계: n-1개의 원판을 1번 막대에서 2번 막대로 옮기기
  • 2단계: 남은 1개의 원판을 1번 막대에서 3번 막대로 옮기기
  • 3단계: n-1개의 원판을 2번 막대에서 3번 막대로 옮기기

시행착오

풀이

import sys

n = int(sys.stdin.readline())

# n개의 원판을 start에서 end로 옮기기
def hanoi(n, start, end):
    if n == 1 :
        print(start, end)
        return
    # 1단계
    hanoi(n-1, start, 6-start-end) 
    # 2단계
    print(start, end) 
    # 3단계
    hanoi(n-1, 6-start-end, end)
    

print(2**n-1)
hanoi(n, 1, 3)

https://study-all-night.tistory.com/6

profile
공부한 내용을 기록하는 공간입니다. 📝
post-custom-banner

0개의 댓글