https://www.acmicpc.net/problem/1991
1991번: 트리 순회
첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파
www.acmicpc.net
💡트리를 파이썬으로 처음 생각해봤던 것 같다. C언어 처럼 class해야할까 했는데 그렇게 안해도 트리처럼 보이도록 할 수 있어서 그냥 배열 사용해서 했다.
✔소스코드
N=int(input())
node=[[0]*3 for i in range(26)]
for i in range(N):
ro,le,ri=map(str,input().split())
root=ord(ro)-65
node[root][0],node[root][1],node[root][2]=ro,le,ri
def pre(root):
print(root,end='')
if node[ord(root)-65][1]!='.':
pre(node[ord(root)-65][1])
if node[ord(root)-65][2]!='.':
pre(node[ord(root)-65][2])
def inorder(root):
if node[ord(root)-65][1]!='.':
inorder(node[ord(root)-65][1])
print(root,end='')
if node[ord(root)-65][2]!='.':
inorder(node[ord(root)-65][2])
def post(root):
if node[ord(root)-65][1]!='.':
post(node[ord(root)-65][1])
if node[ord(root)-65][2]!='.':
post(node[ord(root)-65][2])
print(root,end='')
pre("A")
print()
inorder("A")
print()
post("A")
'백준문제풀이' 카테고리의 다른 글
[백준 문제풀이] 11725번 : 트리의 부모 찾기 (0) | 2021.09.26 |
---|---|
[백준 문제풀이] 2250번 : 트리의 높이와 너비 (0) | 2021.09.26 |
[백준 문제풀이] 14226번 : 이모티콘 (0) | 2021.09.19 |
[백준 문제풀이] 13913번 : 숨바꼭질4 (0) | 2021.09.19 |
[백준 문제풀이] 1697번 : 숨바꼭질 (0) | 2021.09.17 |