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

+ Recent posts