백준문제풀이 4단계 1차원 배열9 10811번 바구니 뒤집기 (C#)
2024. 5. 14. 20:00ㆍ백준 문제풀이/4단계 1차원 배열
공 넣고, 공 바꾸고, 이제는 바구니를 뒤집는다!
이번에는 배열의 역정렬 문제. (ex. Array.Reverse)
순서대로 번호가 적혀있는 바구니.
정수를 두개 받고 그 정수 범위 만큼 바구니를 역정렬 하면된다.
만약 바구니가 1 2 3 4 5 이고
주어진 정수가 2 , 4 이라면
2부터 4까지가 역정렬되어 1 4 3 2 5 가 되는것이다.
using System;
class BackJoon
{
static void Main(string[] args)
{
string[] input = Console.ReadLine().Split();
int N = int.Parse(input[0]);
int M = int.Parse(input[1]);
int[] nums = new int[N];
for (int i = 0; i < N; i++)
nums[i] = i + 1;
for (int i = 0; i < M; i++)
{
string[] input2 = Console.ReadLine().Split();
int N1 = int.Parse(input2[0]);
int N2 = int.Parse(input2[1]) - int.Parse(input2[0]);
Array.Reverse(nums, N1 - 1, N2 + 1);
}
Console.WriteLine(string.Join(" ", nums));
}
}
입력받은 N 만큼 배열을 선언해주고
순서대로 배열을 채워주자 ( 1,2,3,4,....N)
그리고 M만큼 for문을 반복하자.
반복문에는 두개의 정수를 받고
N1 N2를 선언.
N1은 역정렬의 시작 범위.
배열의 길이는 0부터 시작하니까 - 1을 해주자
N2는 역정렬의 끝 범위.
필요한건 역정렬할 길이기 때문에
N1을 빼주자.
그리고 시작과 끝모두 포함해야하기 때문에 +1을 해주자.
이렇게 Reverse를 해주고
string.Join으로 공백과 연결해 출력하면 끝.
'백준 문제풀이 > 4단계 1차원 배열' 카테고리의 다른 글
백준문제풀이 4단계 1차원 배열10 1546번 평균 (C#) (0) | 2024.05.15 |
---|---|
백준문제풀이 4단계 1차원 배열8 3052번 나머지 (C#) (0) | 2024.05.13 |
백준문제풀이 4단계 1차원 배열7 5597번 과제 안 내신 분..? (C#) (0) | 2024.05.12 |
백준문제풀이 4단계 1차원 배열6 10813번 공 바꾸기 (C#) (0) | 2024.05.11 |
백준문제풀이 4단계 1차원 배열5 10810번 공 넣기 (C#) (0) | 2024.05.10 |