[백준] 5430번 AC (C++ , DEQUE)
728x90
반응형
뒤집힌 상태를 나타내는 BOOL 변수 HEAD를 가지고 뒤집힌 상태면 뒤를 삭제하고 아니면 앞을 삭제한다.
속도를 위해 deque을 사용한다.
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <string>
#include <deque>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
freopen("input.txt","r",stdin);
int t,n;
cin >> t;
string p;
for (int tc = 0; tc < t; tc++) {
deque<int> dq;
cin >> p>>n;
string arr;
cin >> arr;
string tmp = "";
for (int i = 0; i < arr.length(); i++) {
if (arr[i] == ',' || arr[i] == '[' || arr[i] == ']') {
if (tmp == "")continue;
dq.push_back(stoi(tmp));
tmp = "";
continue;
}
tmp += arr[i];
}
bool head = true;
bool error = false;
for (int k = 0; k < p.length(); k++) {
if (p[k] == 'R') {
head = !head;
}
else {
if (dq.empty()) {
error = true;
break;
}
if (head) {
dq.pop_front();
}
else {
dq.pop_back();
}
}
}
if (error) {
cout << "error" << "\n";
}
else {
cout << "[";
while (!dq.empty()) {
if (head) {
cout << dq.front();
if (dq.size() > 1) {
cout << ",";
}
dq.pop_front();
}
else {
cout << dq.back();
if (dq.size() > 1) {
cout << ",";
}
dq.pop_back();
}
}
cout << "]\n";
}
}
return 0;
}
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 1620번 나는야 포켓몬 마스터 이다솜 (C++, 해시) (0) | 2021.10.06 |
---|---|
[백준] 1012번 유기농 배추 (C++, BFS) (0) | 2021.10.06 |
[백준] 1021번 회전하는 큐 (C++, DEQUE) (0) | 2021.10.05 |
[백준] 6198번 옥상 정원 꾸미기 (stack, c++) (0) | 2021.10.05 |
[백준] 5397번 키로거 (리스트, c++) (0) | 2021.09.27 |
TAGS.