-
[Java] BOJ 11729 하노이 탑 이동 순서개발자 취업/코딩테스트 준비 2023. 5. 3. 21:00반응형
11729번: 하노이 탑 이동 순서
세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로
www.acmicpc.net
정답 코드
- 어린이 장난감 하노이 탑을 옮기는 최적 방법 구하는 문제
- 재귀함수 이해 필요
- 그냥 출력하면 출력이 길어져서 시간 초과 발생
import java.io.*; public class Main { static BufferedReader br; static BufferedWriter bw; static StringBuilder sb; static int cnt; public static void main(String[] args) throws IOException { br = new BufferedReader(new InputStreamReader(System.in)); sb = new StringBuilder(); fun(Integer.parseInt(br.readLine()), 1, 2, 3); System.out.println(cnt); System.out.println(sb.toString()); } private static void fun(int n, int from, int tmp, int to) { cnt++; if (n == 1) { sb.append(from + " " + to + "\n"); return; } fun(n - 1, from, to, tmp); sb.append(from + " " + to + "\n"); fun(n - 1, tmp, from, to); } }
'개발자 취업 > 코딩테스트 준비' 카테고리의 다른 글
[Java] BOJ 20125 쿠키의 신체 측정 (0) 2023.05.26 [Java] BOJ 1213 팰린드롬 만들기 (3) 2023.05.26 [Java] BOJ 14888 연산자 끼워넣기 (0) 2023.05.01 [Java] BOJ 2217 로프 (0) 2023.04.28 [Java] BOJ 1986 체스 (1) 2023.04.27