[Python] ๋ฐฑ์ค€ 1991 - ํŠธ๋ฆฌ์ˆœํšŒ

2021. 10. 7. 22:48ยทAlgorithm

๋ฌธ์ œ

์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ „์œ„ ์ˆœํšŒ(preorder traversal), ์ค‘์œ„ ์ˆœํšŒ(inorder traversal), ํ›„์œ„ ์ˆœํšŒ(postorder traversal)ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์œ„์™€ ๊ฐ™์€ ์ด์ง„ ํŠธ๋ฆฌ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด,

  • ์ „์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ : ABDCEFG // (๋ฃจํŠธ) (์™ผ์ชฝ ์ž์‹) (์˜ค๋ฅธ์ชฝ ์ž์‹)
  • ์ค‘์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ : DBAECFG // (์™ผ์ชฝ ์ž์‹) (๋ฃจํŠธ) (์˜ค๋ฅธ์ชฝ ์ž์‹)
  • ํ›„์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ : DBEGFCA // (์™ผ์ชฝ ์ž์‹) (์˜ค๋ฅธ์ชฝ ์ž์‹) (๋ฃจํŠธ) ๊ฐ€ ๋œ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์—๋Š” ์ด์ง„ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 26)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ๋…ธ๋“œ์™€ ๊ทธ์˜ ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ, ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋…ธ๋“œ์˜ ์ด๋ฆ„์€ A๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ๋งค๊ฒจ์ง€๋ฉฐ, ํ•ญ์ƒ A๊ฐ€ ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ๋œ๋‹ค. ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” .์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ „์œ„ ์ˆœํšŒ, ๋‘˜์งธ ์ค„์— ์ค‘์œ„ ์ˆœํšŒ, ์…‹์งธ ์ค„์— ํ›„์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ฐ ์ค„์— N๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ์„ ๊ณต๋ฐฑ ์—†์ด ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

 


์ •๋‹ต

def preorder(node):
    if node == '.':
        return
    print(node, end='')
    preorder(tree[node][0])
    preorder(tree[node][1])

def inorder(node):
    if node == '.':
        return
    inorder(tree[node][0])
    print(node, end='')
    inorder(tree[node][1])

def postorder(node):
    if node == '.':
        return
    postorder(tree[node][0])
    postorder(tree[node][1])
    print(node, end='')

n = int(input())
tree = {}
    
for _ in range(n):
    root, left, right = map(str, input().split())
    tree[root] = [left, right]

preorder('A')
print()
inorder('A')
print()
postorder('A')

๊ฐ ์ˆœํšŒ ์ˆœ์„œ์— ๋งž๋Š” ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

 

์ „์œ„์ˆœํšŒ : ๋ฃจํŠธ -> ์™ผ์ชฝ -> ์˜ค๋ฅธ์ชฝ

์ค‘์œ„์ˆœํšŒ : ์™ผ์ชฝ -> ๋ฃจํŠธ -> ์˜ค๋ฅธ์ชฝ

ํ›„์œ„์ˆœํšŒ : ์™ผ์ชฝ -> ์˜ค๋ฅธ์ชฝ -> ๋ฃจํŠธ

 

'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐฑ์ค€ 14503 - ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ  (0) 2021.11.08
[Python] ๋ฐฑ์ค€ 1459 - ๊ฑท๊ธฐ  (0) 2021.11.03
[Python] ๋ฐฑ์ค€ 10829 - ์ด์ง„์ˆ˜ ๋ณ€ํ™˜  (0) 2021.10.06
[Python] ๋ฐฑ์ค€ 4796 - ์บ ํ•‘  (0) 2021.02.13
[Python] ๋ฐฑ์ค€ 1946 - ์‹ ์ž… ์‚ฌ์›  (0) 2021.02.11
'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Python] ๋ฐฑ์ค€ 14503 - ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ
  • [Python] ๋ฐฑ์ค€ 1459 - ๊ฑท๊ธฐ
  • [Python] ๋ฐฑ์ค€ 10829 - ์ด์ง„์ˆ˜ ๋ณ€ํ™˜
  • [Python] ๋ฐฑ์ค€ 4796 - ์บ ํ•‘
๐ŸฅญMango
๐ŸฅญMango
  • ๐ŸฅญMango
    AppleMango๐Ÿฅญ
    ๐ŸฅญMango
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • iOS
        • Swift
        • SwiftUI
        • RxSwift
      • Algorithm
        • C
        • Python
        • Swift
      • Computer Science
        • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ
        • OS
      • ...
      • ๊ฐœ๋ฐœ ํƒ€์ž„์บก์А
        • Python
        • Flutter
        • Android
        • Kotlin
        • Java
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์—ญ์‚ฌ ํŒŒ์ด์ฌ
    ํŒŒ์ด์ฌ 1459
    ํŒŒ์ด์ฌ ํ† ๋งˆํ† 
    ์Šคํƒ
    14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
    ํŒŒ์ด์ฌ ์ •๋ ฌ
    typing animation
    1613 ํŒŒ์ด์ฌ
    1์ฐจ์› ๋ฟŒ์š”๋ฟŒ์š”
    SwiftUI
    ํŒŒ์ด์ฌ
    SwiftUI Apple Login
    ํŒŒ์ด์ฌ 6118
    IOS
    swiftUI Gradients
    1613 ์—ญ์‚ฌ
    Code Base
    ํ† ๋งˆํ† 
    MapMarker
    Apple Login
    swiftUI tabview
    Swift Hello World!
    ์ฝ”ํ‹€๋ฆฐ
    ๋ฐฑ์ค€ ์†Œ์ˆ˜
    ํŒŒ์ด์ฌ 14503
    14503 ํŒŒ์ด์ฌ
    ์ฝ”ํ‹€๋ฆฐ ์ƒ์†
    ๋ฐฑ์ค€ ํ† ๋งˆํ† 
    Custom Map Marker
    6118
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.2
๐ŸฅญMango
[Python] ๋ฐฑ์ค€ 1991 - ํŠธ๋ฆฌ์ˆœํšŒ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”