본문 바로가기
알고리즘

[Swift] 프로그래머스 - 하노이의 탑

by 고고 2022. 1. 10.

프로그래머스 링크 : 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
}

 

댓글