//°áÁ¤ Æ®¸®.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// TreeNode ±¸Á¶Ã¼ Á¤ÀÇ (°áÁ¤ Æ®¸®ÀÇ ³ëµå)
typedef struct TreeNode {
char question[100]; // Áú¹® ¶Ç´Â °áÁ¤ ³»¿ëÀ» ÀúÀå
struct TreeNode* left; // "¿¹"¿¡ ÇØ´çÇÏ´Â ÇÏÀ§ ³ëµå
struct TreeNode* right; // "¾Æ´Ï¿À"¿¡ ÇØ´çÇÏ´Â ÇÏÀ§ ³ëµå
} TreeNode;
void traverse(TreeNode* node) {
char answer[10];
if (node == NULL) return;
printf("[Áú¹®] %s (Y/N): ", node->question);
scanf("%s", answer);
if (strcmp(answer, "Y") == 0) node = node->left;
else if (strcmp(answer, "N") == 0) node = node->right;
else {
printf("À߸øµÈ ÀÔ·ÂÀÔ´Ï´Ù. (Y/N)\n");
traverse(node);
}
// ÇÏÀ§ ³ëµå°¡ ´Ü¸» ³ëµå(°áÁ¤)À̸é
if (node->left == NULL && node->right == NULL)
printf("[°áÁ¤] %s\n", node->question);
else
traverse(node); // ºñ´Ü¸» ³ëµå(Áú¹®) ¼øÈ¸
}
int main() {
TreeNode n4 = {"»êÃ¥ Ãßõ", NULL, NULL}; //´Ü¸» ³ëµå(°áÁ¤)
TreeNode n5 = {"¿ì»ê ¿ÜÃâ", NULL, NULL};
TreeNode n6 = {"½Ç³» ¿îµ¿", NULL, NULL};
TreeNode n7 = {"¿µÈ °¨»ó", NULL, NULL};
TreeNode n2 = {"°¼ö·®ÀÌ 20% ÀÌÇÏ?", &n4, &n5}; //ºñ´Ü¸» ³ëµå(Áú¹®)
TreeNode n3 = {"¹Ù¶÷ÀÌ ¸¹ÀÌ ºÖ´Ï±î?", &n6, &n7};
TreeNode n1 = {"³¯¾¾°¡ ¸¼½À´Ï±î?", &n2, &n3};
TreeNode *root = &n1;
traverse(root);
return 0;
}