백준 6597 : 트리 복구 (Python)

liliili·2022년 12월 23일

백준

목록 보기
90/214

본문 링크

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 문법을 사용해야한다.

0개의 댓글