[BOJ/C++/1406] 에디터

Mongsanga

·

2022. 7. 18. 16:34

#include <iostream>
#include <list>
#include <string>
using namespace std;
string s;
list<char> l;
int n;
char c;
int main(){
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);
    cin>>s;
    cin>>n;
    for(auto i:s)
        l.push_back(i);
    auto cur=l.end();
    while(n--){
        cin>>c;
        if(c=='P') {
            char cc;
            cin>>cc;
            l.insert(cur,cc);
        }
        else if(c=='L'){
            if(cur!=l.begin()) cur--;
        }
        else if(c=='D'){
            if(cur!=l.end()) cur++;
        }
        else if(c=='B'){
            if(cur!=l.begin()){
                cur--;
                cur=l.erase(cur);
            }
        }
    }
    for(auto i:l) cout<<i;
    return 0;
}