https://school.programmers.co.kr/learn/courses/30/lessons/12946
나의풀이
import java.util.*;
class Solution {
public static int[][] answer;
public static int index=0;
public int[][] solution(int n) {
answer = new int[(int)Math.pow(2,n)-1][2];
recur(n, 1, 3, 2);//막대 1에서 막대 2를 거쳐 막대 3으로 옮긴다.
return answer;
}
public static void recur(int n, int start, int to, int mid){
if(n==1){
answer[index++]=new int[]{start, to};
}else{
//n개중 n-1개를 1에서 2로 옮긴다
recur(n-1, start, mid, to);
//1번의 가장 큰 n을 1에서 3으로 옮긴다.
answer[index++] = new int[]{start, to};
//2번의 n-1개를 2에서 3으로 옮긴다
recur(n-1, mid, to, start);
}
}
}
'코테풀이' 카테고리의 다른 글
[프로그래머스] [1차]캐시 java 풀이( LEVEL2 ) (0) | 2023.06.06 |
---|---|
[프로그래머스] 튜플 java 풀이(LEVEL2) (0) | 2023.06.06 |
[프로그래머스] 마법의 엘리베이터 java 풀이 (LEVEL2) (0) | 2023.05.29 |
[프로그래머스] 멀쩡한 사각형 java 풀이( LEVEL2) (0) | 2023.05.29 |
[프로그래머스] 호텔 대실 java 풀이(LEVEL2) (0) | 2023.05.25 |