inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 395. 하노이의 탑

    프로그래머스 (12946)
    Stupefyee's avatar
    Stupefyee
    Jul 23, 2025
    [JAVA 문제 풀이] 395. 하노이의 탑
    Contents
    내가 작성한 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/12946
    notion image
     

    내가 작성한 코드

    import java.util.*; class Solution { public int[][] solution(int n) { List<int[]> result = new ArrayList<>(); move(n,result, 1, 3, 2); // 시작: 1, 도착: 3, 경유지: 2 // 리스트를 배열로 변환 int[][] answer = new int[result.size()][2]; for (int i = 0; i < result.size(); i++) { answer[i] = result.get(i); } return answer; } // 재귀 함수 private void move(int n, List<int[]> result, int start, int end, int temp) { // 판이 하나일 경우 if (n == 1) { result.add(new int[] { start, end }); // 원판 하나를 바로 옮김 return; } move(n - 1, result, start, temp, end); // 작은 원판들 중간 기둥으로 이동 result.add(new int[] { start, end }); // 가장 큰 원판 이동 move(n - 1, result, temp, end, start); // 다시 작은 원판들 목적지로 이동 } }
    Share article
    Contents
    내가 작성한 코드

    stupefyee

    RSS·Powered by Inblog