programmers.co.kr/learn/courses/30/lessons/12946

 

코딩테스트 연습 - 하노이의 탑

하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대��

programmers.co.kr

 

하노이의 탑. 재귀를 이용해서 풀었다.

 

void hanoi(int n, int from, int by, int to, vector<vector<int>>& answer){
    if (n == 1)
        answer.push_back({from,to});
    else{
        hanoi(n - 1, from, to, by,answer);   
        answer.push_back({from,to});         
        hanoi(n - 1, by, from, to,answer);   
    }
}

vector<vector<int>> solution(int n) {
    vector<vector<int>> answer;

    hanoi(n,1,2,3,answer);
    return answer;
}

 

 

+ Recent posts