백준 10811번 바구니 뒤집기(java)

마뇽미뇽·2024년 5월 1일
0

알고리즘 문제풀이

목록 보기
41/165

1.문제

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

2.풀이

배열 안의 수 중 i부터 j까지 수를 역순으로 해야하기 때문에 이중 for문을 사용하고 내부에 for 문은 i부터 j까지로 범위를 설정한다.
역순으로 배열해야하므로 j는 감소하고 i는 증가시킨다.

3.코드

package com.example.baekjoon;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int temp;
        int n = sc.nextInt();
        int m = sc.nextInt();
        int arr[] = new int[n + 1];

        for(int i = 1; i <= n; i++){
            arr[i] = i;
        }

        for(int a = 1; a <= m; a++){
            int i = sc.nextInt();
            int j = sc.nextInt();
            for(int b = i; b < j; b++){
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
                j--;
                i++;
            }
        }

        for(int i = 1; i <= n; i++){
            System.out.print(arr[i] + " ");
        }

        sc.close();
    }
}
profile
Que sera, sera

0개의 댓글