알고리즘
[Swift] 프로그래머스 - 하노이의 탑
고고
2022. 1. 10. 11:21
프로그래머스 링크 : https://programmers.co.kr/learn/courses/30/lessons/12946?language=swift
코딩테스트 연습 - 하노이의 탑
하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대
programmers.co.kr
코드
import Foundation
func solution(_ n:Int) -> [[Int]] {
var result = [[Int]]()
func hanoi(_ n: Int, _ start: Int, _ end: Int, _ mid: Int) {
if n == 1 {
result.append([start, end])
} else {
hanoi(n-1 , start, mid, end)
result.append([start, end])
hanoi(n-1, mid, end, start)
}
}
hanoi(n, 1, 3, 2)
return result
}