from collections import deque
testcase = int(input())
answer = []
for _ in range(testcase):
s = input()
n = int(input())
temp = input()
temp2 = temp.split(",")
if len(temp2) == 1:
if temp2[0][1] == "]":
temp2 = []
else:
temp2 = [temp2[0][1:-1]]
else:
temp2[0] = temp2[0][1:]
temp2[-1] = temp2[-1][:-1]
number = deque([i for i in temp2])
flag = 0
check = False
for i in s:
if i == "R":
flag += 1
else:
if len(number) == 0:
answer.append("error")
check = True
break
if flag%2 == 0:
number.popleft()
else:
number.pop()
if check:
continue
if flag%2 == 0:
result = [i for i in number]
else:
result = []
for i in range(len(number)-1, -1, -1):
result.append(number[i])
result = "[" + ",".join(result) + "]"
answer.append(result)
for i in answer:
print(i)
풀이 설명
deque로 문제에 접근했다.
R이 나왔을때 실제로 배열을 뒤집지 않고, flag로 처리했다 --> 시간, 공간 효율을 위해