[백준] 에디터

 

문제

import sys
input = sys.stdin.readline

class Node:
    def __init__(self, value=None):
        self.value = value
        self.prev = None
        self.next = None

s = input().rstrip()
n = int(input())

head = Node()
tail = Node()
head.next = tail
tail.prev = head

cur = head
for ch in s:
    new_node = Node(ch)
    new_node.prev = cur
    new_node.next = cur.next
    cur.next.prev = new_node
    cur.next = new_node
    cur = new_node

cursor = tail
for _ in range(n):
    cmd = input().split()
    if cmd[0] == 'L':
        if cursor.prev != head:
            cursor = cursor.prev
    elif cmd[0] == 'D':
        if cursor != tail:
            cursor = cursor.next
    elif cmd[0] == 'B':
        if cursor.prev != head:
            to_delete = cursor.prev
            to_delete.prev.next = cursor
            cursor.prev = to_delete.prev
    elif cmd[0] == 'P':
        new_node = Node(cmd[1])
        prev_node = cursor.prev
        prev_node.next = new_node
        new_node.prev = prev_node
        new_node.next = cursor
        cursor.prev = new_node

result = []
node = head.next
while node != tail:
    result.append(node.value)
    node = node.next

print(''.join(result))