문제 바로가기> 백준 5430번: AC
시간 초과가 발생하지 않으려면 reverse를 실제로 하는 것이 아니라 예측하는 것이 중요하다.
또 출력형식을 유심히 볼 필요가 있는데, [1,2]와 [1, 2]는 다르기 때문이다.
T = int(input())
for i in range(T):
is_error=0
is_reverse=0
p = input()
n = int(input())
str_list = input()
str_list = str_list[1: -1]
n_list = []
if n!=0:
n_list = list(map(int, str_list.split(',')))
for i in p:
if i=='R':
is_reverse+=1
else:
if n==0:
is_error=1
break
if is_reverse%2:
del n_list[-1]
else:
del n_list[0]
n-=1
if is_error:
print("error")
else:
print('[', end='')
if is_reverse % 2:
for i in range(len(n_list) - 1, -1, -1):
if i == len(n_list) - 1:
print(n_list[i], end='')
else:
print(',', n_list[i], sep='', end='')
else:
for i in range(len(n_list)):
if i == 0:
print(n_list[i], end='')
else:
print(',', n_list[i], sep='', end='')
print(']')