티스토리 뷰

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

 

1991번: 트리 순회

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

www.acmicpc.net

 

const fs = require('fs');
const [_,...input] = fs.readFileSync("./dev/stdin").toString().trim().split("\n");

let tree = {};

input.forEach(v=>{
  const data = v[0];
  const left = v[2]=='.'? null : v[2];
  const right = v[4]=='.'? null : v[4];

  tree[data] = {left,right}
})

let answer = ['','',''];

function preOrder(node){ 
  if(( tree[node] != null)){ 
    answer[0]+=node;
    preOrder( tree[node].left);
    preOrder( tree[node].right);
  }
}


function inOrder(node){ 
  if(tree[node] != null){ 
    inOrder(tree[node].left);
    answer[1]+=node;
    inOrder(tree[node].right);
  }
}

function postOrder(node){ 
  if((tree[node]!= null)){ 
    postOrder(tree[node].left);
    postOrder(tree[node].right);
    answer[2]+=node;
  }
}



preOrder('A')
inOrder('A')
postOrder('A')

console.log(answer.join('\n'))
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함