프로그래밍/백준(BOJ)
[백준(BOJ) / C][Bronze Ⅱ] 10811번 : 바구니 뒤집기
데굴데굴이
2024. 2. 12. 12:12
반응형
문제
https://www.acmicpc.net/problem/10811
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
풀이
간단한 배열 Swap 문제
소스코드
#include <stdio.h>
#include <stdlib.h>
void Swap(int* _arr, int _left, int _right);
int main(void)
{
int N, M;
int left, right;
int* arr;
scanf("%d %d", &N, &M);
arr = (int*)malloc(sizeof(int) * N);
for(int i = 0; i < N; i++)
{
arr[i] = i + 1;
}
for(int i = 0; i < M; i++)
{
scanf("%d %d", &left, &right);
Swap(arr, left-1, right-1);
}
for(int i = 0; i < N; i++)
{
printf("%d ", arr[i]);
}
free(arr);
return 0;
}
void Swap(int* _arr, int _left, int _right)
{
if(_left == _right) return;
int temp;
while(_left < _right )
{
temp = _arr[_left];
_arr[_left] = _arr[_right];
_arr[_right] = temp;
++_left;
--_right;
}
}
반응형