커맨드가 주어지고 최종값을 뽑는 문제는 실제 커맨드대로 다 하면 망한다.
index만 바꾸거나 slice를 한다거나 최대한 소요를 줄이는 방법으로 사고하자.
import sys
input = sys.stdin.readline
from collections import deque
# R 뒤집기, D 버리기함수
# 비어있을때 D쓰면 에러.
T = int(input())
for test in range(T):
p = input().rstrip()
n = int(input())
xi = input().rstrip().rstrip(']').lstrip('[').split(',')
Xi = deque()
if not n:
xi.pop()
flag=0
switch = 0
for x in xi:
Xi.append(x)
for command in p:
if command == 'R':
if flag:
flag=0
else:
flag=1
else:
if Xi:
if flag:
Xi.pop()
else:
Xi.popleft()
else:
print('error')
switch = 1
break
if switch:
continue
else:
if flag:
ans = ''
while Xi:
ans+=(Xi.pop())+','
ans = ans[:-1]
print(f"[{ans}]")
else:
ans = ",".join(Xi)
print(f"[{ans}]")
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 19598 최소 회의실 개수 (0) | 2021.07.24 |
---|---|
[백준][Python] 11404 플로이드 (0) | 2021.07.24 |
[백준][Python] 11657 타임머신 (0) | 2021.07.24 |
[백준][Python] 2629 양팔저울 (0) | 2021.07.22 |
[백준][Python] 5014 스타트링크 (0) | 2021.07.22 |