문제 : https://www.acmicpc.net/problem/1406
커서를 left_stack과 right_stack 사이에 있다고 가정하고 문제를 풀었다.
import sys
precon = sys.stdin.readline().rstrip()
n = int(sys.stdin.readline())
l_stack = []
r_stack = []
for i in precon:
l_stack.append(i)
for i in range(n):
command = sys.stdin.readline().split()
if(command[0] == 'L'):
if(not l_stack):
pass
else:
r_stack.append(l_stack.pop())
elif(command[0] == 'D'):
if(not r_stack):
pass
else:
l_stack.append(r_stack.pop())
elif(command[0] == 'B'):
if(not l_stack):
pass
else:
l_stack.pop()
elif(command[0] == 'P'):
l_stack.append(command[1])
print("".join(l_stack + list(reversed(r_stack))))
rstrip()
join()
: 매개변수로 들어온 리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환해주는 함수이다.'구분자'.join(리스트)
형식으로 사용된다.