-
[백준/BOJ] 1406번 에디터 (C++)알고리즘 문제풀이/백준 2021. 1. 8. 19:50
리스트 자료구조에 익숙해질 수 있는 문제였습니다.
#include <iostream> #include <list> using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); string s; int n; cin >> s >> n; list<char> li; for(int i = 0; i < s.size(); i++) { li.push_back(s[i]); } list<char>::iterator it = li.end(); // 현재 리스트가 비어있으므로 li.begin()으로 초기화해도 상관없음 while(n--) { char cmd; cin >> cmd; switch(cmd) { case 'L': if(it != li.begin()) it--; break; case 'D': if(it != li.end()) it++; break; case 'B': if(it != li.begin()) it = li.erase(--it); break; default: char ch; cin >> ch; li.insert(it, ch); } } for(it = li.begin(); it != li.end(); it++) { cout << *it; } }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 1158번 요세푸스 (C++) (0) 2021.01.08 [백준/BOJ] 5397번 키로거 (C++) (0) 2021.01.08 [백준/BOJ] 2164번 카드2 (C++) (0) 2021.01.08 [백준/BOJ] 4949번 균형잡힌 세상 (C++) (0) 2021.01.08 [백준/BOJ] 10773번 제로 (C++) (0) 2021.01.07