문제: https://www.acmicpc.net/problem/10811
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
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 |