문제출처 : https://www.acmicpc.net/problem/5639
import sys
sys.setrecursionlimit(20_000)
def postorder(orderlist):
if len(orderlist) == 0:
return []
post=[]
root = orderlist[0]
rightindex = None
if len(orderlist) > 1:
for i in range(1,len(orderlist)):
if orderlist[i] > root:
rightindex = i
break
if rightindex != None:
left = orderlist[1:rightindex]
post = post + postorder(left)
right = orderlist[rightindex:]
post = post + postorder(right)
else:
left = orderlist[1:]
post = post + postorder(left)
post.append(root)
return post
preorder=[]
while True:
try:
preorder.append(int(sys.stdin.readline()))
except:
break
if len(preorder) == 0:
print()
else:
for i in postorder(preorder):
print(i)