https://www.acmicpc.net/problem/5430

deque을 쓴 이유는 R이 있으면 뒤집어야하는데 flag 변수로 앞뒤만 구분해놓고 pop으로 뒤에 있는 걸 빼거나 popleft로 앞에 있는 걸 빼기 위해서이다.
틀렸던 이유
반례)
1
D
0
[]
answer = error 인데 자꾸 결과가 []이 나와서
if len(l) == 0 or l[0] == '':
이 부분을 추가해주었다.
from collections import deque
def check(p, l):
l = deque(l)
flag = True #앞 False면 뒤
for order in p:
if order == 'R':
flag = not flag
else: # D
if len(l) == 0 or l[0] == '':
return 'error'
if flag:
l.popleft()
else:
l.pop()
l = list(l)
s = '['
if not flag:
l.reverse()
for i in l:
s += i
s += ','
if s[-1] == ',':
s = s[:-1]+']'
else: # []
s += ']'
return s
T = int(input())
for _ in range(T):
p = list(input()) # 명령
n = int(input()) # 리스트 길이
l = input()
l = l[1:-1].split(',')
print(check(p, l))
도움이 됩니다!!