ㅇhttps://www.acmicpc.net/problem/5430
뭔가 딱봐도 deque를 써야할 것 같은 문제였다.
배열의 pop(0) 보다 deque의 popleft가 더 빠르기 때문이다.
처음에 빈 배열이 들어올 때, 그걸 아무것도 들어있지 않은 배열로 입력받아야 하는데
string형태로 받으면 얘가 [''] 이런 형태로 입력해버린다.
그래서 처음에 입력받을때 int형으로 받았다가, 마지막에 str형으로 변환해준다.
꽤 비효율적인 방법인 것 같으나 어쨌든 통과는했다.
import sys
from collections import deque
input = sys.stdin.readline
TC = int(input())
for tc in range(TC):
isReversed = False
isError = False
text = input().rstrip()
n = int(input())
try:
nlist = list(map(int, (input().rstrip()[1:-1].split(","))))
except:
nlist = []
queue = deque()
for i in nlist:
queue.append(i)
for order in text:
if order == "R":
isReversed = not isReversed
elif order == "D":
if len(queue) == 0:
isError = True
break
else:
if isReversed == False:
queue.popleft()
else:
queue.pop()
result = list(map(str, queue))
if isError == True:
print("error")
else:
if isReversed == False:
print("[" + ",".join(result) + "]")
else:
print("[" + ",".join(result[::-1]) + "]")
'알고리즘' 카테고리의 다른 글
백준 14284 간선 이어가기 2 - 골드5 [파이썬] (0) | 2022.11.11 |
---|---|
백준 13023 ABCDE - 골드5 [파이썬] (0) | 2022.11.09 |
프로그래머스 [1차]캐시 - level2 [파이썬] (0) | 2022.11.04 |
백준 1543 문서 검색 - 실버4 [파이썬] (0) | 2022.10.14 |
백준 1613 역사 - 골드3 [파이썬] (0) | 2022.10.11 |