알고리즘

백준 알고리즘 10811번: 바구니 뒤집기 - JAVA

zumsim 2024. 4. 27. 21:38
728x90
반응형

https://www.acmicpc.net/problem/10811

 

 

  • 사실 풀이하고 다른 걸 찾아보니 배열 초기화를 필자처럼 0이 아닌 1부터 넣어서 하는 경우도 더러 있었지만 필자는 그냥 0부터 넣는 걸로 하였고 그래서 -1을 하는 귀찮음이 있었으므로 보시는 분들은 참고해서 하시길 바랍니다.
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int tot = sc.nextInt();
        int cnt = sc.nextInt();
        
        sc.nextLine();
        
        int[] arr = new int[tot];
        
        for(int i=0; i<arr.length; i++) {
            arr[i] = i+1;
        }
                
        for(int i=0; i<cnt; i++) {
            String [] temp = sc.nextLine().split(" ");
            
            int num1 = Integer.parseInt(temp[0])-1;
            int num2 = Integer.parseInt(temp[1])-1;
                
            if(num1 != num2) {
                for(int j=num1; j<num2; j++) {
                    int n = num2--;
                    
                    int tmp = arr[j];
                    
                    arr[j] = arr[n];
                    arr[n] = tmp;
                    
                }
            }
        }
        
        for(int i=0; i<arr.length; i++) {
            if(i != arr.length) {
                System.out.print(arr[i]+" ");
            }else {
                System.out.print(arr[i]);
            }
        }
    }
}
cs
728x90
반응형