백준

백준 2947 나무 조각(Java)

Park DJ 2023. 1. 17. 15:39

https://www.acmicpc.net/problem/2947

 

2947번: 나무 조각

첫째 줄에 조각에 쓰여 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다.

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 크기가 5인 배열을 생성한후 순서가 1 2 3 4 5 가될때까지 반복문을 통해 출력해주면 됩니다. 앞의 값이 뒤의 값보다 크면 자리를 바꿔주면됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int[] arr = new int[5];
    int n = 0;

    for(int i = 0; i < 5; i++) {
      arr[i] = sc.nextInt();
    }

    while(true) {
      for(int i = 0; i < 4; i++) {
        if(arr[i] > arr[i+1]) {       //앞의값이 뒤의값보다 크면 자리 바꿈
          n = arr[i];
          arr[i] = arr[i+1];
          arr[i+1] = n;
          for(int j = 0; j < 5; j++)
            System.out.print(arr[j]+" ");
          System.out.println("");
        }
      }
      if(arr[0] == 1 && arr[1] == 2 && arr[2] == 3 && arr[3] == 4 && arr[4] == 5) break;
    }      // 1 2 3 4 5 순서가 되면 종료
    
  }
}