일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Django
- WSGI
- 자바스크립트
- EC2
- YAML
- DevOps
- Kubernetes
- dockerfile
- event loop
- github
- POD
- FastAPI
- Deployment
- 쿠버네티스
- terraform
- intervals
- IAM
- asgi
- EKS
- IAC
- AWS
- leetcode
- asyncio
- ansible
- elasticsearch
- Python
- Service
- K8S
- ebs
- docker
- Today
- Total
목록leetcode (32)
궁금한게 많은 개발자 노트
막대의 높이가 담긴 배열이 주어졌을 때, 두 막대와 x축으로 담기는 물의 최대 양을 구하는 문제입니다. two pointer문제로 이차원 배열에서 시간 초과가 발생하는 문제를 해결합니다. 두 포인터 중 작은 쪽의 포인터를 변경하고, 넓이 구할 시 가로는 포인터 사이 거리이고, 높이는 작은 막대로 구합니다. #define max(a,b)((a) > (b) ? (a) : (b)) #define min(a,b)((a) > (b) ? (b) : (a)) class Solution { public: int maxArea(vector& height) { int answer = 0; int i = 0; int j = height.size() - 1; while (i < j) { if (height[i] < heigh..
Binary Tree가 주어졌을 때, level order로 순회하는 순서를 반환하는 문제입니다. BFS(Breadth-First-Search)로 접근하여 최상위 노드부터 넣고 자식들을 순서대로 넣으면서 level order로 순회합니다. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, Tree..
Binary Tree가 주어졌을 때, 해당 트리가 균형 잡힌 트리인지를 확인하는 문제입니다. 균형 잡힌 트리는 서로 다른 노드를 루트 노드로 하는 서브 트리 사이에 높이 차이가 1이하인 노드들로 구성된 트리를 의미합니다. 마찬가지로 재귀를 이용하여 left, right child로 시작하는 서브 트리의 균형 여부를 확인하고, 해당 노드의 균형 여부는 각 left, right child subtree의 depth를 구하여 판단합니다. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(n..
Binary Tree가 주어졌을 때, root에서 leaf node까지 가장 짧은 경로의 길이를 구하는 문제입니다. 재귀를 이용하여 해당 노드가 NULL이면 0을 반환하고 left, child중 짧은 길이를 반복적으로 반환하면서 해를 구합니다. 이 때 left나 right child중 하나 이상 NULL이면 최소값이 0으로 되므로 조건문으로 큰 값이 포함되도록 해줍니다. 둘 다 NULL이 아닐 때는 둘 중 작은 값, 하나 이상 NULL 이면 1 이거나 값이 있는 것을 반환 하도록 합니다. (자식 한쪽만 값이 있는 경우 해당 노드는 leaf가 아니므로 leaf의 값을 가져가야 함) /** * Definition for a binary tree node. * struct TreeNode { * int val..
string의 배열이 들어왔을 때, anagram 단어들을 grouping하여 반환하는 문제입니다. Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once #include #include class Solution { public: vector groupAnagrams(vector& strs) { unordered_map hash_table; for (int i = 0; i < strs.size(); i++){ string temp = strs[i]; sort(temp.begin(), temp.end..