본문 바로가기
알고리즘 풀이

[백준] 10811번: 바구니 뒤집기 - java 풀이

by 코디드 2023. 5. 16.

i 값은 커지고 j 값은 작아지는 것과,

i 부터 j까지 전부 처리하는 것이 아닌 중간값까지만 구현하는걸 생각해놓고도

막상 두가지를 구현하지 못해서 다른 풀이를 참고했다.

 

전부 핑계고 결국 풀지 못했다는 얘기가 된다

좀 더 열심히 해야겠다.

 

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 st = new StringTokenizer(br.readLine());
		
		int N = Integer.parseInt(st.nextToken());
		int M = Integer.parseInt(st.nextToken());
		
		int bask[] = new int[N];
		for(int i=0; i<N; i++) {
			bask[i]=i+1;
		}
		
		int idx=0;
		for(idx=0; idx<M; idx++) {
			st = new StringTokenizer(br.readLine());
			int i = Integer.parseInt(st.nextToken())-1;
			int j = Integer.parseInt(st.nextToken())-1;
			
			while(i<j) {
				int temp=bask[i];
				bask[i]=bask[j];
				bask[j]=temp;
				i++;
				j--;
			}
		}
		for(int k:bask) {
			System.out.print(k+" ");
		}
	}
}