[백준] 11729 : 하노이 탑 이동 순서 <JAVA>

2021. 1. 8. 17:15·알고리즘

 

문제: N개의 원판 개수를 입력 받았을 때, 이동 과정 출력

 

  • 하노이 탑의 원리를 알기!
  • 하노이 탑 이동 횟수 = 2^N - 1
  • 한 번 이동할 때, 제일 위에 있는 원판 하나만 이동 가능
  • 크기가 큰 원판은 작은 원판 위에 쌓을 수 없음
  • 이동 방법(위치1에 원판 n개가 있다고 가정)
    1. n-1개의 원판을 위치 2로 옮기기
    2. 마지막 원판을 위치 3으로 옮김
    3. n-1개의 원판을 다시 위치 3으로 옮김

 

import java.util.Scanner;
 
public class Main {
 
	public static StringBuilder sb = new StringBuilder();
 
	public static void main(String[] args) throws IOException {
        
	  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int N = Integer.parseInt(br.readLine());

    sb.append((int)(Math.pow(2,N)) - 1).append('\n');

    hanoi(N,1,2,3);

    System.out.println(sb);
	}
 
	
		// N : 원판의 개수, start : 출발지, mid : 옮기기 위해 이동해야 장소, to : 목적지
   public static void hanoi (int N, int start, int mid, int to){
     if(N == 1){
      sb.append(start + " " + to + "\n");
      return ;
     }

     //1. move N-1 from 'start' to 'mid'
     hanoi(N-1, start, to, mid);

     //2. move last one from 'start' to 'to'
     sb.append(start + " " + to + "\n");

     //3. move N-1 from 'mid' to 'to'
     hanoi(N-1, mid, start, to);
   }
}

'알고리즘' 카테고리의 다른 글

[백준] 2231 : 분해합 <JAVA>  (0) 2021.01.13
[백준] 7568 : 덩치 <JAVA>  (0) 2021.01.12
[알고리즘] Brute force (브루트 포스)  (0) 2021.01.10
[백준] 2447 : 별 찍기 <JAVA>  (0) 2021.01.08
[백준] JAVA : 재귀함수1 < 팩토리얼 & 피보나치>  (0) 2021.01.05
'알고리즘' 카테고리의 다른 글
  • [백준] 7568 : 덩치 <JAVA>
  • [알고리즘] Brute force (브루트 포스)
  • [백준] 2447 : 별 찍기 <JAVA>
  • [백준] JAVA : 재귀함수1 < 팩토리얼 & 피보나치>
HBean_
HBean_
백엔드 개발자의 개발 로그 💻
  • HBean_
    개발_log
    HBean_
  • 전체
    오늘
    어제
    • 전체 (103)
      • WEB (49)
        • Spring (14)
        • AWS EC2 (6)
        • DB (3)
        • 2020_webCamp (25)
        • JPA (1)
      • Devops (2)
      • 보안 (4)
      • Git (6)
      • JAVA (13)
      • 자료구조 (2)
      • 알고리즘 (11)
      • 네트워크 (2)
      • SStudy (2)
      • 실전프로젝트2 (4)
      • 개발 일기 (1)
      • 개발툴 (4)
      • Intellij (2)
      • 이슈 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    톰캣
    IntelliJ
    플러그인
    인텔리제이
    웹
    tomcat
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
HBean_
[백준] 11729 : 하노이 탑 이동 순서 <JAVA>
상단으로

티스토리툴바