코테/백준

[백준/JAVA] 10811번: 바구니 뒤집기

imname1am 2023. 3. 30. 11:41
반응형

🔺 문제

 

10811번: 바구니 뒤집기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2

www.acmicpc.net

 

🔺 코드

import java.util.*;
import java.io.*;

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[] arr = new int[n];

        for(int i = 0 ; i < arr.length ; i++) {
        	arr[i] = i + 1;
        }

        for(int i = 0 ; i < m ; i++) {
            st = new StringTokenizer(br.readLine()," ");

            int from = Integer.parseInt(st.nextToken()) - 1;
            int to = Integer.parseInt(st.nextToken()) - 1;

            // 역순으로 뒤집기
            for(int j = 0 ; j < (to - from + 1) / 2 ; j++) {
                int tmp = arr[from + j];
                arr[from + j] = arr[to - j];
                arr[to - j] = tmp;		        
            }
        }

        for(int i : arr) {
        	System.out.print(i + " ");
        }
    }
}
✅ 해결 아이디어
- 역순으로 뒤집는 로직!

 

반응형