백준 11단계 (재귀) - 6번

LEE'S·2023년 1월 19일
0

백준

목록 보기
10/27

1번 (11729번)

✨ 알고리즘

💡 원판 개수와, start middle end 4개의 매개변수를 가진 함수를 만든다

👉 원판이 1개일 경우 , 'start end' 를 출력하도록 한 후 함수를 빠져나온다

👉 1️⃣ n-1개를 중간 middle 에 다 옮긴다 ➡️ 재귀함수

👉 2️⃣ n번째 원판(마지막 젤 큰 원판)을 end 로 옮긴다

👉 3️⃣ middle 에 있는 n-1개의 원판들 역시 middle 에서 end 로 원판을 옮긴다. ➡️재귀함수

num = int(input())

def hanoi(n,start,mid,end) :
    if n==1 :
        print(f'{start} {end}')
        return
    hanoi(n-1,start, end, mid)
    print(f'{start} {end}')
    hanoi(n-1, mid, start, end)

print(2**num-1)
hanoi(num,1,2,3)
profile
기록 블로그

0개의 댓글