2023.09.26.TUE

ronglong·2023년 9월 26일
0

[ 프로그래머스 ]

[ 하노이의 탑 ]

: 재귀 문제의 대표 주자.
이제 일반 구현말고 진짜로 알고리즘 공부 스타트다.
온갖 풀이 찾아보고 하면서 문제 푸는 방식들에 익숙해지려고 해볼 예정.

import java.util.*;

class Solution {
    static ArrayList<int[]> arr;
    
    public int[][] solution(int n) {
        arr = new ArrayList<>();
        hanoi(1, 2, 3, n);
        
        int[][] answer = new int[arr.size()][2];
        for(int i = 0; i < arr.size(); i++) {
            answer[i][0]= arr.get(i)[0];
            answer[i][1]= arr.get(i)[1];
        }
        
        return answer;
    }
    
    public static void hanoi(int start, int way, int end, int n){
        if(n==1){
            arr.add(new int[] {start,end});
            return;
        } else {
            hanoi(start,end,way,n-1);
            arr.add(new int[] {start,end});
            hanoi(way,start,end,n-1);
        }
    }
}

[ 느낀 점 ]

프로그래머스는 내 스스로 풀어서 점수를 올리는 재미가 있으므로,,
당분간 풀이를 보며 하는 알고리즘 공부는 백준 문제를 이용할 것 같다.

0개의 댓글