https://www.acmicpc.net/problem/17413
import sys
input = sys.stdin.readline
s = input().rstrip()
word = []
flag = False
res = ''
for i in s:
if i == " ":
while word:
res += word.pop()
res += i
elif i == '<':
while word:
res += word.pop()
flag = True
res += i
elif i == '>':
flag = False
res += i
elif flag:
res += i
else:
word.append(i)
while word:
res += word.pop()
print(res)
'<'와 '>', 공백인 경우를 나누어 문제를 풀며 된다.
새로운 배열 (word)를 이용하여 푸는 문제 !
공백과 '<'이라면, 여태 입력 받은 문자를 res에 더해주면 된다. pop은 뒤에서 부터 값을 삭제하는 함수이므로 pop을 이용한다면 반대로 출력이 된다.
'<'인 경우, flag값을 True로 바꿔주면 된다. 이렇게 되면 바로 다음에 들어오는 값을 res에 바로 추가하므로, 따로 반대로 바꾸지 않아도 된다.
'>'인 경우, 태그가 끝나므로 flag값을 False로 바꾸고 '>'을 바로 res에 더해주면 된다.
만약 마지막 값이 태그가 아닌 일반 값으로 끝날 수 있으므로 word에 값이 남아있다면 pop을 이용해서 res에 더해준다.