๐ง๐ปโ๐ป ๋ฌธ์ ๋งํฌ
๋ฌธ์ ์์ฒด๋ ํฌ๊ฒ ์ด๋ ต์ง ์์๋ ๋ฌธ์ ์ด๋ค. ๋ค๋ง, ์๊ฐ๋ณต์ก๋๋ฅผ ์๊ฐํด์ผ ํ๋ค๋ ์ ์ด ๋ฌธ์ ์ ํต์ฌ์ธ ๊ฒ ๊ฐ๋ค. ์ด์ ์๋ ์ด๋ป๊ฒ๋ ๋ฌธ์ ๋ง ํ๋ฉด ๋๋ ์ค ์์๋๋ฐ ํจ์จ์ฑ๋ ๊ณ ๋ คํด์ ํ์ด์ผ ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ฐฐ์ ๋ ๊ฒ์ sys
๋ฅผ ํ์ฉํด์ผ ๊ฒ ๋ค๋ ์ . ๊ทธ๋ฆฌ๊ณ flag
์ ๊ฐ์ด ์ด๋ป๊ฒ ๋ณด๋ฉด ๋ฌธ์ ๋ฅผ ๋ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋ค๋ ์ ์ด๋ค. ์ฒ์๋ถํฐ๋ ์ด๋ ต๊ฒ ์ง๋ง ์ฐ์ตํ๋ ๋ฒ๋ฆ์ ๋ค์ฌ์ผ๊ฒ ๋ค.
์ฒซ ๋ฒ์ฌ ์ฝ๋๋ ์๊ฐํจ์จ์ฑ์์ ์ด๊ณผ๊ฐ ๋ฌ๋ ์ฝ๋์ด๊ณ ๋ ๋ฒ์งธ ์ฝ๋๋ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์๋ ์ฝ๋์ด๋ค. ์๊ฐ๋ ๋ ๋ง๋ค ๋น๊ตํด๋ด์ผ ๊ฒ ๋ค.
def func(p, arr_temp):
temp = arr_temp
if temp == '':
return temp
# ์ ์ํ ๋ฐฐ์ด๋ก ๋ง๋ฌ
arr_case_to_list = list(map(int, arr_temp.split(',')))
for i in p:
if i == 'R':
arr_case_to_list = arr_case_to_list[::-1]
else:
if len(arr_case_to_list) < 1:
break
else:
arr_case_to_list.pop(0)
return arr_case_to_list
T = int(input()) # ํ
์คํธ ์ผ์ด์ค
answer = []
for _ in range(T):
answer = []
# ์ํํ ํจ์ p
p = input()
# ๋ฐฐ์ด์ ๋ค์ด์๋ ์์ ๊ฐ์
n = int(input())
# ๋ฐฐ์ด ์
๋ ฅ(๋ฌธ์์ด ํํ)
arr_case = input()
# ์ ์ํ ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ ์ํด ๋ฌธ์์ด์ '[', ']'๋ถ๋ถ์ ์ ๊ฑฐ
arr_case_temp = arr_case[1:-1]
answer = func(p, arr_case_temp)
if len(answer) == 0:
print("error")
else:
print(answer)
import sys
from collections import deque
T = int(sys.stdin.readline())
for _ in range(T):
p = sys.stdin.readline() # ์ํํ ํจ์
n = int(sys.stdin.readline()) # ๋ฐฐ์ด์ ๋ค์ด์๋ ์์ ๊ฐ์
arr = sys.stdin.readline().rstrip()[1:-1].split(",") # ๋ฐฐ์ด
queue = deque(arr) # ๋ฑ ์์ฑ
reverse_flag = 0 # R ํ๋๊ทธ
error_flag = 0 # ์๋ฌ ํ๋๊ทธ
# ๋ฐฐ์ด์ ์๋ฌด๊ฒ๋ ์์ ๋
if n == 0:
queue = []
for cmd in p:
# "R"์ผ ๋ ๋ค์ง๊ธฐ ํ๋๊ทธ๋ฅผ 1์ถ๊ฐ
if cmd == "R":
reverse_flag += 1
# "D"์ผ ๋ ํ์ ์๋ฌด๊ฒ๋ ์์ผ๋ฉด ์๋ฌ
elif cmd == "D":
if len(queue) < 1:
error_flag = 1
print("error")
break
# ๋ค์ง๊ธฐ๊ฐ ์ง์์ด๋ฉด ์๋๋๋ก ์ฒซ ๋ฒ์งธ์์ ๋นผ์ค
else:
if reverse_flag % 2 == 0:
queue.popleft()
# ํ์์ด๋ฉด ๋ค์์ ๋นผ๋๊ฒ ๋ค์ง์์ ๋นผ๋ ๊ฒ์ด๋ ๊ฐ์ ์๋ฆฌ
else:
queue.pop()
if error_flag == 0:
if reverse_flag % 2 == 0:
print("[" + ",".join(queue) + "]")
else:
queue.reverse()
print("[" + ",".join(queue) + "]")