1. 문제 설명
AC
2. 문제 분석
fliped
를 확인하면서 왼쪽, 오른쪽에서 주어진 값을 팝한다. 원소가 없을 때 팝한다면 에러다.
- 런타임 에러를 해결하는 데 시간이 더 걸렸다. 원인은 빈 배열을 받아들인 뒤
nums.split(',')
를 하고 디큐로 만들기 때문. nums
가 빈지 (또는 n이 0인지) 확인하자.
3. 나의 풀이
from collections import deque
t = int(input())
for _ in range(t):
p = input()
n = int(input())
nums = input()[1:-1]
if nums:
queue = deque(list(map(int, nums.split(','))))
else:
queue = deque()
fliped = False
error = False
for cmd in p:
if cmd == 'R':
fliped = not fliped
else:
if not queue:
error = True
break
else:
if fliped: queue.pop()
else: queue.popleft()
if error: print('error')
else:
if fliped: queue.reverse()
print('[', end='')
if queue: print(*queue, sep=',', end='')
print(']')