| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- kernel
- IAM
- terraform
- docker
- ansible
- cpu
- POD
- elasticsearch
- Python
- Service
- Kubernetes
- AZ-900
- Deployment
- 자바스크립트
- asyncio
- leetcode
- DevOps
- Django
- asgi
- Network
- ebs
- AWS
- RBAC
- AZURE
- IAC
- Role
- AZ-104
- EC2
- K8S
- FastAPI
- Today
- Total
목록leetcode (33)
궁금한게 많은 개발자 노트
우선순위 큐를 사용하여 가장 큰 두 돌을 꺼내 같으면 둘 다 제거하고, 차이가 있다면 큰 돌의 무게에서 작은 돌의 무게를 빼서 다시 큐에 넣어 마지막 남은 돌의 무게를 반환하는 문제입니다. 만약 모두 제거되었다면 0을 반환합니다. #define swap(a,b,t)((t) = (a), (a) = (b), (b) = (t)) class Solution { public: int heap[31] = {0,}; int heap_size = 0; void insert_heap(int item) { heap[++heap_size] = item; int current = heap_size; int temp; while (current /2 >= 1 && heap[current] > heap[current/2]) { ..
해당 문제는 이진 트리(Binary Tree)가 주어졌을 때, 서로 다른 두 노드의 가장 낮은 레벨의 공통 조상을 찾는 문제입니다. BST가 아닌 BT이기 때문에 BST의 조건을 이용하지 못하는 상황입니다. 문제의 제약 조건에서 서로 다른 두 노드는 항상 트리 내에 존재함을 보장합니다. 이 때는 재귀적으로 왼쪽 자식, 오른쪽 자식을 반환하면서 둘다 NULL이 아닌 경우는 해당 노드의 아래에 존재한다는 의미이므로 해당 노드가 LCA가 됩니다. 해당 노드와 p또는 q의 value와 같아서 윗레벨로 반환 된 경우 root에서 왼쪽만 NULL이 아니고 오른쪽은 NUL일 경우 왼쪽 자식의 더 아래에 한 노드가 존재한다는 의미이므로 반환된 왼쪽 노드가 LCA입니다. /** * Definition for a bina..
Binary Search Tree가 주어졌을 때, 서로 다른 두 노드의 가장 낮은 level의 공통 조상을 찾는 문제입니다. (Lowest Common Ancestor) BST의 특성을 잘 이해하여 한 노드의 값보다 크면 오른쪽 자식, 작으면 왼쪽 자식에 존재한다는 개념을 이용합니다. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* ..