반응형
#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main()
{
string str;
cin >> str;
stack<char>left;
stack<char>right;
//right에 str복사
for (int i = 0; i < str.size(); i++)
{
left.push(str[i]);
}
int t;
cin >> t;
//명령어 입력
for (int i = 0; i < t; i++)
{
char order;
cin >> order;
if (order == 'L' && !left.empty())
{
right.push(left.top());
left.pop();
}
if (order == 'D' && !right.empty())
{
left.push(right.top());
right.pop();
}
if (order == 'B'&& !left.empty())
{
left.pop();
}
if (order == 'P')
{
char addchar;
cin >> addchar;
left.push(addchar);
}
}
//left->right복사 및 right전체 출력
while(!left.empty())
{
right.push(left.top());
left.pop();
}
while (!right.empty())
{
cout << right.top();
right.pop();
}
cout << endl;
return 0;
}
STL stack을 이용하여 커서의 왼쪽을 left스택, 오른쪽을 right스택으로
두고 구현하였습니다.
반응형
'개발 > 알고리즘 & 자료구조' 카테고리의 다른 글
백준(BOJ) 1260번 DFS와 BFS (9) | 2021.08.03 |
---|---|
백준(BOJ) 11724번 연결요소의 개수 (0) | 2021.08.02 |
백준(BOJ) 11728번 배열 합치기 (0) | 2021.08.02 |
비트마스크(Bitmask) (0) | 2021.08.02 |
O(n+k) 정렬 - 카운팅 정렬(Counting Sort) (0) | 2021.08.02 |