문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.
문제 유형 보기
https://dailyalgo.kr/ko/problems/94
https://dailyalgo.kr/ko/problems/95
https://dailyalgo.kr/ko/problems/96
풀이
트리 전위 순회
def solution(childNodes):
def preorder(node):
# 종료 조건
if node == -1:
return
# 점화식
answer.append(node)
preorder(childNodes[node-1][0])
preorder(childNodes[node-1][1])
answer = []
preorder(1)
return answer
# 입력 : 이진 트리, 단 1번 노드부터 시작.
# 출력 : 트리 순회 결과를 담은 리스트
트리 중위 순회
def solution(childNodes):
def inorder(node):
# 종료 조건
if node == -1:
return
# 점화식
inorder(childNodes[node-1][0])
answer.append(node)
inorder(childNodes[node-1][1])
answer = []
inorder(1)
return answer
# 입력 : 이진 트리, 단 1번 노드부터 시작.
# 출력 : 트리 순회 결과를 담은 리스트
트리 후위 순회
def solution(childNodes):
def postorder(node):
# 종료 조건
if node == -1:
return
# 점화식
postorder(childNodes[node-1][0])
postorder(childNodes[node-1][1])
answer.append(node)
answer = []
postorder(1)
return answer
# 입력 : 이진 트리, 단 1번 노드부터 시작.
# 출력 : 트리 순회 결과를 담은 리스트
'Algorithms and Languages > 파이썬 알고리즘 문제풀이' 카테고리의 다른 글
[Python/백준] 20364. 부동산 다툼 (0) | 2025.02.25 |
---|---|
[Python/백준] 1991. 트리 순회 (0) | 2025.02.25 |
[Python/DailyAlgo] 112. N-Rook Problem 2 (0) | 2025.02.24 |
[Python/DailyAlgo] 97. N-Rook Problem (0) | 2025.02.24 |
[Python/백준] 16922. 로마 숫자 만들기 (0) | 2025.02.24 |