티스토리 뷰

알고리즘/백준

1991번 트리 순회 백준 파이썬

글을 쓰는 개발자 2020. 12. 15. 20:24
반응형

문제: www.acmicpc.net/problem/1991

 

1991번: 트리 순회

첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
N=int(input())
graph=[[] for _ in range(N)]
for _ in range(N):
    dot,left,right=map(str,input().split())
    graph[ord(dot)-ord('A')].append(left)
    graph[ord(dot)-ord('A')].append(right)
 
def pre_order(start):
    if start!='.':
        print(start,end='')
        pre_order(graph[ord(start)-ord('A')][0])
        pre_order(graph[ord(start)-ord('A')][1])
def in_order(start):
    if start!='.':
        mid_order(graph[ord(start)-ord('A')][0])
        print(start,end='')
        mid_order(graph[ord(start)-ord('A')][1])
def post_order(start):
    if start!='.':
        post_order(graph[ord(start)-ord('A')][0])
        post_order(graph[ord(start)-ord('A')][1])
        print(start,end='')
pre_order('A')
print()
mid_order('A')
print()
post_order('A')
 
 
cs

 

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함