본문 바로가기

백준 문제풀기/JAVA

[백준 10812 JAVA 자바] 바구니 순서 바꾸기

복잡합니다!

10811보다 복잡합니다!

 

하지만 그림을 그리면

그렇게 최악은 아닙니다

 

이해가 되시나요?!

 

안된다면???

 

코드입니다!!

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		
		int m = scan.nextInt();
		int n = scan.nextInt();
		
		int[] arr = new int[m];
		
		
		for(int i=0; i<m; i++) {
			arr[i] = i+1;
		}
		
		for(int i=0; i<n; i++) {
			int a = scan.nextInt();
			int b = scan.nextInt();
			int c = scan.nextInt();
			
			int[] arr2 = new int[b-a+1];
			
			for(int j=0; j<b-c+1;j++) {
				arr2[j]=arr[c+j-1];
			}
			for(int j=0; j<c-a; j++) {
				arr2[b-c+1+j]=arr[a+j-1];
			}
			for(int j=0; j<b-a+1;j++) {
				arr[a+j-1]=arr2[j];
			}			
		}
		
		for(int i=0; i<m; i++) {
			System.out.print(arr[i]+" ");
		}
	}
}

10811에서는 순서를 바꾸기 위해 2개의 for문을 썼는데

여기서는 3개의 for문을 이용했습니다