문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12946
코딩테스트 연습 - 하노이의 탑
하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대
programmers.co.kr
풀이
재귀 함수 문제
1. a에 있는 n-1 개의 원반을 c를 거쳐 b로 옮긴다.
2. a에 남은 가장 아래 있는 원반을 c로 옮긴다.
3. b로 옮겼던 n-1 개의 원반을 a를 거쳐 c로 옮긴다.
위 과정을 다 옮길 때까지 반복
answer = []
def hanoi(n, f, to, sub):
if n == 1 :
answer.append((f, to))
return
# 1번 과정
hanoi(n-1, f, sub, to)
# 2번 과정
answer.append((f,to))
# 3번 과정
hanoi(n-1, sub, to, f)
def solution(n):
hanoi(n, 1, 3, 2)
return answer
'개발 > algorithm' 카테고리의 다른 글
[백준 2610번] 회의 준비 - python (0) | 2022.04.29 |
---|---|
[백준 2617번] 구슬 찾기 - python (0) | 2022.04.29 |
[프로그래머스][level3] 110 옮기기 - python (0) | 2022.04.28 |
[프로그래머스][level3] N-Queen - python (0) | 2022.04.28 |
[백준 9663번] N-Queen - python (0) | 2022.04.28 |