프로그래머스
프로그래머스 디스크 컨트롤러
콩순이냉장고
2021. 11. 2. 00:40
문제 URL : https://programmers.co.kr/learn/courses/30/lessons/42627
문제 접근법 :
pq를 이용하는 문제입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
int solution(vector<vector<int>> jobs) {
int answer = 0, time = 0;
int idx = 0;
priority_queue<pii, vector<pii>, greater<pii>> pq;
sort(jobs.begin(), jobs.end());
while (idx < jobs.size() || !pq.empty()) {
if (idx < jobs.size() && time >= jobs[idx][0]) {
pq.push({ jobs[idx][1],jobs[idx++][0] });
continue;
}
if (pq.empty())
time = jobs[idx][0];
else {
time += pq.top().first;
answer += time - pq.top().second;
pq.pop();
}
}
return answer / jobs.size();
}
|
cs |
궁금한점 혹은 모르는점 어떤 질문이든 댓글은 언제나 환영입니다.