일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- POD
- event loop
- YAML
- intervals
- asyncio
- asgi
- ansible
- AWS
- Django
- ebs
- dockerfile
- 자바스크립트
- github
- DevOps
- Service
- leetcode
- elasticsearch
- IAM
- IAC
- FastAPI
- Python
- K8S
- terraform
- EKS
- WSGI
- EC2
- 쿠버네티스
- Deployment
- Kubernetes
- docker
- Today
- Total
목록leetcode (32)
궁금한게 많은 개발자 노트
string으로 들어온 숫자를 각 자리 수를 더해 한자리가 남을 때 까지 더하고 반환하는 문제입니다. 마지막 두 자리 수를 더해서 두 자리가 되면 사용한 두 칸을 비우고 다시 두칸을 더하고, 한 자리 수가 되면 사용한 두 칸을 비우고 한 자리를 더하는 방식으로 답을 구합니다. class Solution { public: int addDigits(int num) { while (num >= 10) { int one = num % 10; int two = (num / 10) % 10; int sum = one + two; num = sum >= 10 ? (num / 100 * 100) : (num / 100 * 10); num += sum; } return num; } };
여러 구간들이 주어졌을 때, 어떤 한 구간이 다른 구간에 포함되는 경우 제거하고 남은 구간의 수를 반환하는 문제입니다. 이 때 정렬이 필요한데, 기본 오름 차순 정렬이 아닌 start는 오름 차순이고 end는 큰수가 먼저 앞에 오도록 정렬해야 순서대로 확인 시 다음 구간을 포함하는지 확인하기에 용이합니다. #include bool compare(vector a, vector b) { if (a[0] == b[0]) return a[1] > b[1]; return a[0] < b[0]; } class Solution { public: int removeCoveredIntervals(vector& intervals) { sort(intervals.begin(), intervals.end(), compare)..
무한한 set이 있고, 해당 set에는 모든 자연수가 포함되어 있습니다. 아래 함수들을 구현하여 입력된 명령어 후 남은 자연수들을 반환하는 문제입니다. You have a set which contains all positive integers [1, 2, 3, 4, 5, ...]. Implement the SmallestInfiniteSet class: SmallestInfiniteSet() Initializes the SmallestInfiniteSet object to contain all positive integers. int popSmallest() Removes and returns the smallest integer contained in the infinite set. void addB..
여러 구간들이 주어졌을 때, 겹치는 구간을 병합하여 겹치지 않는 구간들의 리스트를 반환하는 문제입니다. 먼저 구간들을 오름차순으로 정렬하고, 정답 리스트에 구간을 하나 추가하고 마지막 추가된 구간과 새로 들어갈 구간들이 겹치는지 판단하여 겹치는 경우 마지막 구간을 빼서 병합하고 다시 넣어주는 과정을 반복합니다. #include #define max(a,b)((a) > (b) ? (a) : (b)) class Solution { public: vector merge(vector& intervals) { sort(intervals.begin(), intervals.end()); vector answer; for (int i = 0; i < intervals.size(); i++) { int start = i..
우선순위 큐를 사용하여 가장 큰 두 돌을 꺼내 같으면 둘 다 제거하고, 차이가 있다면 큰 돌의 무게에서 작은 돌의 무게를 빼서 다시 큐에 넣어 마지막 남은 돌의 무게를 반환하는 문제입니다. 만약 모두 제거되었다면 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]) { ..