반응형
#include <iostream>
using namespace std;
char tree[26][2]; // 각 노드의 왼쪽/오른쪽 자식 저장
void preorder(char node) {
if (node == '.') return;
cout << node;
preorder(tree[node - 'A'][0]);
preorder(tree[node - 'A'][1]);
}
void inorder(char node) {
if (node == '.') return;
inorder(tree[node - 'A'][0]);
cout << node;
inorder(tree[node - 'A'][1]);
}
void postorder(char node) {
if (node == '.') return;
postorder(tree[node - 'A'][0]);
postorder(tree[node - 'A'][1]);
cout << node;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
for (int i = 0; i < N; i++) {
char parent, left, right;
cin >> parent >> left >> right;
tree[parent - 'A'][0] = left;
tree[parent - 'A'][1] = right;
}
preorder('A'); cout << "\n";
inorder('A'); cout << "\n";
postorder('A'); cout << "\n";
return 0;
}
반응형
'C++ > 코딩 테스트' 카테고리의 다른 글
알고리즘 속도 체크 C++ (0) | 2025.02.21 |
---|---|
코딩 테스트 주의점 (0) | 2025.02.21 |
알고리즘 공부 (1) | 2025.02.21 |