https://www.acmicpc.net/problem/11729
11729번: 하노이 탑 이동 순서
세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로
www.acmicpc.net

해석 및 팁
이 문제는 재귀를 활용하는 함수입니다. 하노이의 탑에 대해서는 다음 링크를 참조하시기 바랍니다.
https://ko.wikipedia.org/wiki/하노이의_탑
하노이의 탑 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 하노이의 탑(Tower of Hanoi)은 퍼즐의 일종이다. 세 개의 기둥과 이 기둥에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들
ko.wikipedia.org
Java 코드
import java.util.Scanner;
public class Main {
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sb.append((int)Math.pow(2, n) - 1).append("\n");
cal(n, 1, 2, 3);
System.out.println(sb);
}
public static void cal(int num, int fir, int sec, int thr) {
if(num == 1) {
sb.append(fir+" "+thr).append("\n");
return;
}
cal(num - 1, fir, thr, sec);
sb.append(fir+" "+thr).append("\n");
cal(num - 1, sec, fir, thr);
}
}
'백준' 카테고리의 다른 글
백준 14888 연산자 끼워넣기(Java) (0) | 2023.02.15 |
---|---|
백준 10844 쉬운 계단 수(Java) (0) | 2023.02.15 |
백준 2156 포도주 시식(Java) (0) | 2023.02.14 |
백준 1697 숨바꼭질(Java) (0) | 2023.02.14 |
백준 1932 정수 삼각형(Java) (0) | 2023.02.14 |