문제 설명
풀이 과정
재귀를 배우게 되면 가장 많이 배우게 되는 하노이의 탑 문제이다.
1번에서 3번으로 맨 아래의 원판을 옮기기 위해서는 다음과 같은 과정을 거친다.
2-1) 1번에서 자기 위의 원판들을 2번으로 옮겨 둔다.
2-2) 1번의 가장 아래 원판을 3번으로 이동한다.
2-3) 2번으로 옮겨둔 자기 위의 원판들을 3번으로 이동시킨다.위 과정을 재귀로 작성하면 문제가 풀리게 된다.
def hanoii(answer, n, src, temp, dest):
if n == 1:
answer.append([src, dest])
else:
hanoii(answer, n-1, src, dest, temp)
answer.append([src, dest])
hanoii(answer, n-1, temp, src, dest)
def solution(n):
answer = []
hanoii(answer, n, 1, 2, 3)
return answer
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글
[ Lv 3 ] 광고 삽입 (0) | 2021.07.19 |
---|---|
[ Lv 3 ] 숫자 게임 (0) | 2021.07.18 |
[ Lv 3 ] 섬 연결하기 (0) | 2021.07.17 |
[ Lv 3 ] 다단계 칫솔 판매 (0) | 2021.07.17 |
[ Lv 3 ] 베스트앨범 (0) | 2021.07.16 |