https://www.acmicpc.net/problem/10811
string[] input = Console.ReadLine().Split();
int N = int.Parse(input[0]);
int M = int.Parse(input[1]);
int[] basket = new int[N + 1];
for(int x = 1; x <= N; x++)
{
basket[x] = x;
}
for(int x = 0; x < M; x++)
{
string[] s = Console.ReadLine().Split();
int i = int.Parse(s[0]);
int j = int.Parse(s[1]);
Array.Reverse(basket, i, j - i + 1);
}
for (int x = 1; x <= N; x++)
{
Console.Write(basket[x] + " ");
}
배열 뒤집기 → Array.Reverse(array, startIndex, length)
- array : 뒤집을 배열
- startIndex : 뒤집기 시작 위치
- length : 뒤집을 원소 개수
2~4번째 바구니를 예로 들면 i = 2, j = 4 그리고 개수는 3개 이므로
j - i + 1 = 3
'알고리즘 문제(백준) > C#' 카테고리의 다른 글
| [백준] 2566번 최대값(2차원 배열) (0) | 2025.09.08 |
|---|---|
| [백준] 1546번 평균 (0) | 2025.09.02 |
| [백준] 3052번 나머지 (0) | 2025.09.02 |
| [백준] 10810번 공 바꾸기 (2) | 2025.08.26 |
| [백준] 10810번 공 넣기 (0) | 2025.08.25 |