본문 바로가기
728x90
반응형

분류 전체보기301

Tree: Height of a Binary Tree 이진 트리의 높이를 계산하는 간단한 문제 // 이진 트리 노드 정의 struct Node { int data; Node* left; Node* right; Node(int data) : data(data), left(nullptr), right(nullptr) {} }; // 이진 트리의 높이를 계산하는 함수 int height(Node* root) { if (root == nullptr) { return -1; // 루트 노드가 없으면 높이를 -1로 간주 } int leftHeight = height(root->left); int rightHeight = height(root->right); // 더 큰 서브트리의 높이에 1을 더해 현재 노드의 높이를 계산 return (leftHeight > righ.. 2023. 10. 4.
Tree: Inorder Traversal Inorder Traversal (중위 순회): 왼쪽 서브트리를 중위 순회한 후 루트 노드를 방문하고, 그 다음에 오른쪽 서브트리를 중위 순회하는 방법입니다. 순서: 왼쪽 서브트리 - 루트 - 오른쪽 서브트리 중위 순회는 이진 탐색 트리에서 노드를 오름차순으로 방문하는 데 주로 사용됩니다. class Node { public: int data; Node *left; Node *right; Node(int d) { data = d; left = NULL; right = NULL; } }; void inOrder(Node *root) { if(root == nullptr) return; inOrder(root->left); cout 2023. 10. 4.
Tree: Preorder Traversal Preorder Traversal (전위 순회): 루트 노드를 먼저 방문하고, 왼쪽 서브트리를 전위 순회한 후에 오른쪽 서브트리를 전위 순회하는 방법입니다. 순서: 루트 - 왼쪽 서브트리 - 오른쪽 서브트리 전위 순회는 트리를 복제하거나 트리의 구조를 복원하는 데 유용합니다. class Node { public: int data; Node *left; Node *right; Node(int d) { data = d; left = NULL; right = NULL; } }; */ void preOrder(Node *root) { if(root == nullptr) return; cout 2023. 10. 4.
Tree: Postorder Traversal Postorder Traversal (후위 순회): 왼쪽 서브트리와 오른쪽 서브트리를 후위 순회한 후에 루트 노드를 방문하는 방법입니다. 순서: 왼쪽 서브트리 - 오른쪽 서브트리 - 루트 후위 순회는 트리에서 리프 노드부터 시작하여 루트 노드로 이동하는 데 사용됩니다. 예를 들어, 메모리를 해제하는 데 유용합니다. class Node { public: int data; Node *left; Node *right; Node(int d) { data = d; left = NULL; right = NULL; } }; */ void postOrder(Node *root) { if(root == nullptr) return; postOrder(root->left); postOrder(root->right); cout 2023. 10. 4.
Diagonal Difference C# public static int diagonalDifference(int n,List arr) { int LTR = 0, RTL = 0; for(int i = 0;i 2023. 10. 4.
Lonely Integer C# public static int lonelyinteger(List a) { int result = 0; foreach (int num in a) { result ^= num; } return result; } ^= -> XOR 연산으로 Unique value 를 찾을 수 있다는 것이 Key Point 2023. 10. 4.
Mini-Max Sum C# class Result { /* * Complete the 'miniMaxSum' function below. * * The function accepts INTEGER_ARRAY arr as parameter. */ public static void miniMaxSum(List arr) { arr.Sort(); long minSum = arr.Take(4).Sum(); long maxSum = arr.Skip(1).Take(4).Sum(); Console.WriteLine($"{minSum} {maxSum}"); } } 2023. 10. 4.
728x90
반응형