import sys
input=sys.stdin.readline
def postorder(root,start,end):
if start>end:
return
for i in range(start,end):
if preorder[root]==inorder[i]:
postorder(root+1,start,i)
postorder(root+1+(i-start),i+1,end)
print(preorder[root], end="")
while True:
try:
preorder,inorder=input().split()
preorder=list(preorder) ; inorder=list(inorder)
postorder(0,0,len(preorder))
except:
break
📌 어떻게 접근할 것인가?
백준 4256 : 트리 와 똑같은 문제이다.
이전에 이 문제에 대해 글을 자세히 써놨다.
거의 똑같은 코드이지만 주의해야할 점은 입력 테스트 케이스의 수가 주어지지 않기 때문에
try-except 문법을 사용해야한다.