[알고리즘] 하노이탑 알고리즘

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