문제: https://www.acmicpc.net/problem/10811
1. 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[sc.nextInt() + 1];
for(int i = 0; i < arr.length; i++) arr[i] = i;
int M = sc.nextInt();
for(int i = 0; i < M; i++) {
int start = sc.nextInt();
int end = sc.nextInt();
int[] temp = Arrays.copyOfRange(arr, start, end + 1);
for(int j = start; j <= end; j++)
arr[j] = temp[temp.length - 1 - j + start];
}
for(int i = 1; i < arr.length; i++)
System.out.print(arr[i] + " ");
}
}
2. 설명
임의의 배열을 바구니의 시작번호와 끝 번호만큼 부분을 복사하여 뒷부분부터 저장합니다.
'컴퓨터 > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 - 2563번: 색종이 [Java] (0) | 2023.08.31 |
---|---|
백준 알고리즘 - 25206번: 너의 평점은 [Java] (0) | 2023.08.30 |
백준 알고리즘 - 10813번: 공 바꾸기 [Java] (0) | 2023.08.28 |
백준 알고리즘 - 10810번: 공 넣기 [Java] (0) | 2023.08.27 |
백준 알고리즘 24060번: 알고리즘 수업 [Java] (0) | 2022.10.14 |