[알고리즘] 하노이탑 알고리즘
2024. 1. 30. 10:33ㆍ알고리즘 풀이/Java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Hanoi {
static StringBuilder result = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
hanoi(Integer.parseInt(st.nextToken()), st.nextToken(), st.nextToken(), st.nextToken());
System.out.println(result.toString());
}
private static void move(String start, String end) {
result.append(start + "를 " + end + "로 옮긴다.\n");
}
private static void hanoi(int number, String start, String end, String middle) {
if (number == 1) {
move(start, end);
return;
}
hanoi(number-1, start, middle, end);
move(start, end);
hanoi(number-1, middle, end, start);
}
}
'알고리즘 풀이 > Java' 카테고리의 다른 글
[알고리즘] 재귀를 통한 순열 (0) | 2024.01.30 |
---|---|
[알고리즘] Flatten (1) | 2024.01.30 |
[알고리즘] 게리맨더링 2 (0) | 2024.01.28 |
[알고리즘] Queue add, remove, offer, poll (0) | 2024.01.25 |
[알고리즘] 나누기 (0) | 2024.01.24 |