문제 링크 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를�� programmers.co.kr 풀이 문제를 보고 종료시점이 핵심이라는 것을 알고 우선순위 큐를 적용했다. 종료 시점에서 (요청시간 요청~종료 시간의 합 평균을 줄이기 위해서는 작업들의 대기시간을 줄여야 한다. -> 작업들의 대기시간을 줄이기 위해서는 작업을 할 수 있을 때, 작업의 수를 줄여야 한다. -> 작업의 수를 빠르게 줄이기 위해서는 작업을 할 수 있을 경우에 소요 시간이 작은 것을 먼저 하면 된다. 따라서, 코드 작성은 종료시점을 기록하면서 종료시점에서 작업을 할..
문제 링크 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 풀이 우선순위 큐를 이용하여 푸는 문제다 // init 우선순위 큐(priority_queue)를 작은 것이 먼저 나오도록 order를 바꿔준다. pq의 생성자{pq(scoville.begin(), scoville.end())}로도 해도 되지만 for문을 이용해서 push해주었다. // process 우선순위 큐의 top()은 가장 작은 원소값(가장 안매운 스코빌 지수)이 나온다. 이를 이용해서 pop()을 두 번한다. cur = 가장..