본문 바로가기
728x90

코테준비/하루한개도전~82

99클럽 코테 스터디 3일차 TIL : smallest-number-in-infinite-set (미들러) https://leetcode.com/problems/smallest-number-in-infinite-set/description/문제 해석하는게 더 오래걸렸다,,, 영어공부 해야지중복숫자를 허용하지 않는 min heap을 구현하는것과 비슷했다.주어진 요구사항대로 동작하는 class SmallestInfiniteSet을 구현하면 되는 문제였다. 1. SmallestInfiniteSet()    init을 통해 양의 정수를 무한대로 담고있는 smallestinfiniteset을 초기화한다.    이 때, 문제에서 숫자의 범위를 1 ~ 1000으로 정해줬으므로, 그냥 1부터 1000까지를 담고있는 min heap을 만들었다.    사실 무한대를 담고있는 heap을 어떻게 만들어야할지 모르겠어서 그냥 이렇게.. 2024. 5. 25.
99클럽 코테 스터디 2일차 TIL : heap - 디스크 컨트롤러 (챌린저) 디스크 컨트롤러를 구현하는 문제였다.runtime의 평균을 최소로 하는 문제이므로, 대기시간을 최대한 짧게 만들면된다.다음 작업을 결정할 지금시점에서, 대기중인 task들 중 exetime이 가장 짧은 task를 우선적으로 처리하도록 구현한다.1. 주어지는 jobs들을 "시간순서대로" 정렬한다 (heap이 아닌, 그냥 sort!)2. jobs중, 현재시점에서 수행가능한 작업들을 고른다.3. 수행가능한 작업들 중 exe time이 가장 짧은 작업을 수행한다. 4. 2번부터 반복! #include #include #include #include using namespace std;// Compare two Foo structs.bool comparevec(const vector& x, const vector.. 2024. 5. 24.
99클럽 코테 스터디 2일차 TIL : heap - 더 맵게 (미들러) heap이용해서 스코빌지수 K이상으로 만들기-> min heap이용해서 push, pop을 반복해 K이상인 원소가 루트에 있는지 계속 확인해주면 됐다.C++에서는 라이브러리에서 make_heap()함수를 지원한다.make_heap(v.begin(), v.end(), (min heap일 경우) greater{});greater{}는 min heap을 만들 때 추가해준다.max heap이 기본이어서 max heap을 만들거면 begin, end만 있으면 된다make_heap이 hep을 return하는게 아니라, 사용한 벡터(여기서는 v)가 바뀌는것!섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)-> 모든 음식의 스코빌 지수가 K이상이 될.. 2024. 5. 24.
99클럽 코테 스터디 1일차 TIL : stack - 올바른 괄호 (미들러) 스택/큐 이용해서 올바른 괄호 판별하기 -> 스택이용해서, ()쌍이 맞는지만 확인하면 되는 간단한 문제였다.  "("로 열린경우 -> 반드시 ")"로 닫혀야함 (())))(()) 순서대로 하나씩 char로 가져옴')'인 경우, stack의 top에 '('가 있으면, pop을 해준다아닌경우, ')'를 push해준다'('인 경우, push해준다문자열 전체에 대해 한바퀴 돌았을 때stack이 empty면 True아닌경우 False#include#include #include using namespace std;bool solution(string s){ bool answer = false; stack stack; for(int i = 0; i  segmentation fault코.. 2024. 5. 23.
728x90