커서의 위치를 기준으로
왼쪽에 위치하는 값을 저장하는 리스트인 l_list와
오른쪽에 위치하는 r_list를 각각 초기화하고
[].[] (.은 커서) 의 형태로 생각하고 코드를 짰다
'<'값을 만나면 r_list.append(l_list.pop())
'>'은 반대로 적용했다
t = int(input())
for _ in range(t):
l_list = []
r_list = []
pw = input()
for i in pw:
if i == '-':
if l_list:
l_list.pop()
elif i == '<':
if l_list:
r_list.append(l_list.pop())
elif i == '>':
if r_list:
l_list.append(r_list.pop())
else:
l_list.append(i)
l_list.extend(reversed(r_list))
print(''.join(l_list))
expend() VS extend()
append는 그 자체의 원소를 넣고자하는 리스트 마지막 인덱스에 넣고
extend는 iterable의 각 항목들을 넣는다.
문제 : https://www.acmicpc.net/problem/5397
expend() VS extend() : https://m.blog.naver.com/wideeyed/221541104629