복잡합니다!
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문을 이용했습니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 10817 JAVA 자바] 세 수 (0) | 2023.08.18 |
---|---|
[백준 10815 JAVA 자바] 숫자 카드 (0) | 2023.08.17 |
[백준 10811 JAVA 자바] 바구니 뒤집기 (0) | 2023.08.17 |
[백준 10810 JAVA 자바] 공 넣기 (0) | 2023.08.17 |
[백준 2522 JAVA 자바] 별 찍기 - 12 (3) | 2023.08.16 |