문제
5430호: AC
각 테스트 케이스에 대해 함수 실행 결과는 입력으로 주어진 정수 배열에 출력됩니다. 오류가 발생하면 오류가 발행됩니다.
www.acmicpc.net
설명
특이한 입출력 형식으로 인해 Python으로 해결하는 것이 더 편리 할 것이라고 생각했기 때문에 Python으로 해결했습니다.
최대 100,000개의 함수를 지정하고, 100,000개가 모두 R이면 뒤집기, 뒤집기, 다시 뒤집기…를 100,000번 반복하여 시간 초과가 발생합니다.
하지만 다시 뒤집으면 원래 상태로 돌아가기 때문에 R이 들어올 때마다 isReverse 변수를 true/false로 변경했습니다.
from sys import stdin
from collections import deque
input = lambda : stdin.readline().strip()
T = int(input())
for _ in range(T):
p = input()
n = int(input())
array = deque(input()(1:-1).split(","))
if n == 0:
array = deque()
isReverse = False
isBlank = False
for i in p:
if i == "R":
isReverse = not isReverse
elif i == "D":
if not array:
isBlank = True
break
if isReverse:
array.pop()
else:
array.popleft()
if isBlank:
print("error")
else:
if isReverse:
array.reverse()
print("("+",".join(array)+")")
