👉 문제 링크
R이 홀수일 경우에만 뒤집기를 수행한다. -> R 개수 카운팅 변수가 필요하겠지?
배열 길이가 0이면 초기화!
from collections import deque
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
p = input().strip()
n = int(input())
arr = input().strip()
d = deque(arr[1:-1].split(','))
if n == 0:
d = deque()
r_cnt = 0
for i in range(len(p)):
# R이 나온 경우 값만 카운팅하여 배열이 뒤집히는지 안뒤집히는지만 판별
if p[i] == 'R':
r_cnt += 1
elif p[i] == 'D':
if len(d) == 0:
print("error")
break
else:
# 원래 상태인 경우에는 앞에서 제거
if r_cnt % 2 == 0:
d.popleft()
# 뒤집힌 경우에는 뒤에서 제거
else:
d.pop()
else:
if r_cnt % 2 == 1:
d.reverse()
print('[' + ','.join(d) + ']' )
배열이 [x1, ... , xn]의 형태로 입력된다.
그대로 덱에 넣으면 괄호와 쉼표까지 같이 들어가므로,
숫자만 담기 위해
dq = deque(arr[1:-1].split(','))
을 검색해서 사용했다.