https://www.acmicpc.net/problem/10811
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
방법1
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer str = new StringTokenizer(br.readLine());
int n = Integer.parseInt(str.nextToken());
int m = Integer.parseInt(str.nextToken());
//바구니 만들기
Integer[] bascket = new Integer[n];
for(int i = 0; i < n; i++){
bascket[i] = i+1;
}
//바구니 순서 바꾸기
for(int i = 0; i<m; i++){
StringTokenizer str1 = new StringTokenizer(br.readLine());
int fir = Integer.parseInt(str1.nextToken());
int sec = Integer.parseInt(str1.nextToken());
if(fir < sec){
int[] temp = new int[sec-fir+1];
//temp에다가 역순 범위에 값 넣어주고
for(int j = 0; j<temp.length; j++){
temp[j] = bascket[sec-1-j] ;
}
//temp
for(int k = 0; k<sec-fir+1; k++){
bascket[fir+k-1] = temp[k];
}
}
}
//출력
for(int l=0;l<n; l++){
System.out.print(bascket[l] + " ");
}
}
}
'알고리즘 > [백준] JAVA' 카테고리의 다른 글
[백준] 9086 문자열 (0) | 2023.05.02 |
---|---|
[백준] 27866 문자와 문자열 (0) | 2023.05.02 |
[백준] 3052 나머지 (0) | 2023.05.02 |
[백준] 10813 공 바꾸기 (0) | 2023.04.28 |
[백준] 2562 최댓값 (0) | 2023.04.28 |