에디터
#include <algorithm>
#include <iostream>
#include <stdio.h>
#include <vector>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <string>
#include <cmath>
using namespace std;
int main() {
//freopen("input.txt", "rt", stdin);
stack<char> left;
stack<char> right;
string str;
cin >> str;
for (int i = 0; i < str.length(); i++) {
left.push(str[i]);
}
int n;
cin >> n;
char m;
for (int j = 0; j < n; j++) {
cin >> m;
if (m == 'L') {
if (left.size() == 0) {
continue;
}
char top = left.top();
left.pop();
right.push(top);
}
else if (m == 'D') {
if (right.size() == 0) {
continue;
}
char top = right.top();
right.pop();
left.push(top);
}
else if (m == 'B') {
if (left.size() == 0) {
continue;
}
left.pop();
}
else if (m == 'P') {
char ex;
cin >> ex;
left.push(ex);
}
}
int num = left.size();
for (int i = 0; i < num; i++) {
right.push(left.top());
left.pop();
}
num = right.size();
for (int i = 0; i < num; i++) {
cout << right.top();
right.pop();
}
return 0;
}
Author And Source
이 문제에 관하여(에디터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bb5918/에디터저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)