DevYoon
[๋ฐฑ์ค] 5397. ํค๋ก๊ฑฐ (Python) ๋ณธ๋ฌธ
link ๐ https://www.acmicpc.net/problem/5397
5397๋ฒ: ํค๋ก๊ฑฐ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฐ์ด๊ฐ ์ ๋ ฅํ ์์๋๋ก ๊ธธ์ด๊ฐ L์ธ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. (1 ≤ L ≤ 1,000,000) ๊ฐ์ฐ์ด๊ฐ ๋ฐฑ์คํ์ด์ค๋ฅผ ์
www.acmicpc.net
๐ฌ > ์ <, -, ๋ฌธ์์ผ ๊ฒฝ์ฐ๋ฅผ ๊ฐ๊ฐ ์๊ฐํด์ ํ์ด์ฃผ์๋ค.
๐ฌ >์ ๊ฒฝ์ฐ idx๊ฐ ๋์ด ์๋ ๊ณณ์ ์์ ๋๋ง ์์ง์ฌ์ค๋ค.
๐ฌ <์ ๊ฒฝ์ฐ idx๊ฐ ์ฒ์์ด ์๋ ๊ณณ์ ์์ ๋๋ง ์์ง์ฌ์ค๋ค.
๐ฌ -์ ๊ฒฝ์ฐ ๋ฌธ์๊ฐ ์๊ณ , idx๊ฐ 0์ด ์๋ ๋๋ง ์คํํ๋ค.
from collections import deque
T = int(input())
for _ in range(T):
sentence = input()
idx = 0
result = deque()
for word in sentence:
if word == '<':
if idx > 0:
idx -= 1
elif word == '>':
if idx < len(result):
idx += 1
elif word == '-':
if result and idx > 0:
del result[idx-1]
idx -= 1
else:
result.insert(idx, word)
idx += 1
print("".join(result))