[BOJ/백준][Silver1] 1991 : 트리 순회 (Kotlin)

[BOJ/백준][Silver1] 1991 : 트리 순회 (Kotlin)

https://www.acmicpc.net/problem/1991

[난이도] Silver1

[유형] 트리

[풀이]

Preorder, Inorder, Postorder 순회를 구현할 수 있는지를 묻는 문제입니다.

import java.io.BufferedReader import java.io.InputStreamReader import java.util.* var N = 0 var a = Array>(26){Pair(0,0)} fun preorder(n:Int){ if(n==-1) return print('A'+n) preorder(a[n].first) preorder(a[n].second) } fun inorder(n:Int){ if(n==-1) return inorder(a[n].first) print('A'+n) inorder(a[n].second) } fun postorder(n:Int){ if(n==-1) return postorder(a[n].first) postorder(a[n].second) print('A'+n) } fun main() = with(BufferedReader(InputStreamReader(System.`in`))){ N = readLine().toInt() repeat(N){ val carr = readLine().split(' ').map{it[0]} var left = if(carr[1]=='.') -1 else carr[1]-'A' var right = if(carr[2]=='.') -1 else carr[2]-'A' a[carr[0]-'A'] = Pair(left,right) } preorder(0) println() inorder(0) println() postorder(0) }

https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Silver1/1991.cpp

from http://leesh111112.tistory.com/279 by ccl(A) rewrite - 2021-08-15 19:00:42