#include <iostream>
#include <functional>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
#include <list>
using namespace std;
list<char> my_list;
auto iter = my_list.end();
int count = 0;
void Move_left()
{
if (iter != my_list.begin())
iter--;
}
void Move_right()
{
if (iter != my_list.end())
iter++;
}
void Delete()
{
if (iter == my_list.begin())
return;
iter = my_list.erase(--iter);
}
void Add(char _letter)
{
my_list.insert(iter, _letter);
}
int main()
{
string str;
char command = '\0', letter = '\0';
cin >> str;
my_list = list<char>(str.begin(), str.end());
iter = my_list.end();
int num = 0;
cin >> num;
while(num--)
{
cin >> command;
switch(command)
{
case 'L': Move_left(); break;
case 'D': Move_right(); break;
case 'B': Delete(); break;
case 'P':
cin >> letter;
Add(letter);
break;
}
}
for (const auto& item : my_list)
cout << item;
return 0;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[실1] 1991 - 트리 순회 (0) | 2022.06.20 |
---|---|
[실1] 2667 - 단지 번호 붙이기 (0) | 2022.06.19 |
[실1] 1926 - 그림 (0) | 2022.06.19 |
[실1] 2178 - 미로탐색 (0) | 2022.06.19 |
[실2] 11724 - 연결 요소의 개수 (0) | 2022.05.31 |