알고리즘 문제/백준

[C++] 에디터(list) - 1406

우대비 2022. 11. 16. 14:01
반응형
#include <iostream>
#include <list>
#include <string>
using namespace std;



int main()
{
	string str = "";
	list<char> d;
	int N = 0;
	char c;

	cin >> str;
	cin >> N;

	for (int i = 0; i < str.size(); i++)
		d.push_back(str[i]);

	list<char>::iterator it = d.end();

	while (N--)
	{
		cin >> c;
		if (c == 'L')
		{
			if (it != d.begin())
				it--;
		}
		else if (c == 'D')
		{
			if (it != d.end())
				it++;
		}
		else if (c == 'B')
		{
			if (it != d.begin())
				it = d.erase(--it);
		}
		else if (c == 'P')
		{
			cin >> c;

			it = d.insert(it, c);
			++it;
		}
	}

	for (auto i = d.begin(); i != d.end(); ++i)
		cout << *i;


	return 0;

}
반응형
LIST

'알고리즘 문제 > 백준' 카테고리의 다른 글

[C++] 스택 - 10828  (0) 2022.11.17
[C++] 요세푸스(Queue) - 1158  (0) 2022.11.16
[C++] 큐 - 10845  (0) 2022.11.16
[C++] 스택 수열 - 1874  (0) 2022.11.14
[C++] 괄호 - 9012  (0) 2022.11.13