※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 10804번 문제인 카드 역배치이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/10804 

 

10804번: 카드 역배치

1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. 

www.acmicpc.net

swap과 반복문을 이용하면 문제에서 요구하는 것을 그대로 시뮬레이션할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <algorithm>
using namespace std;

int arr[21];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	for (int i = 1; i <= 20; i++) {
		arr[i] = i;
	}

	int T = 10;
	while (T--) {
		int L, R; cin >> L >> R;
		while (L < R) {
			swap(arr[L++], arr[R--]);
		}
	}

	for (int i = 1; i <= 20; i++) {
		cout << arr[i] << ' ';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 5576 // C++] 콘테스트  (0) 2021.06.01
[BOJ 1001 // C++] A-B  (0) 2021.06.01
[BOJ 10984 // C++] 내 학점을 구해줘  (0) 2021.06.01
[BOJ 10834 // C++] 벨트  (0) 2021.06.01
[BOJ 1173 // C++] 운동  (0) 2021.06.01

+ Recent posts