반응형
집중력을 되찾고 나선 금방 풀었다.
#include <string>
#include <vector>
#include <queue>
using namespace std;
int solution(vector<int> priorities, int location) {
int answer = 0;
queue<pair<int, int>> que;
priority_queue<pair<int, int>, vector<pair<int, int>>, less<pair<int, int>>> pq;
int len = priorities.size();
for(int i = 0; i < len; i++) {
que.push({priorities[i], i});
pq.push({priorities[i], i});
}
while(!pq.empty()) {
pair<int, int> max = pq.top();
pair<int, int> top = que.front();
que.pop();
if(max.first == top.first) {
pq.pop();
answer++;
if(top.second == location)
break;
} else
que.push(top);
}
return answer;
}
max_element에 대해서 새로 알아보자. 최댓값을 찾는데 유용하다.
max_element(vector.begin(), vector.end()) -> iterator 반환
*max_element(vector.begin(), vector.end()) -> value 반환
min_element도 있다.
반응형
'[프로그래머스]' 카테고리의 다른 글
프로그래머스 다리를 지나는 트럭 C++ (0) | 2023.08.18 |
---|---|
프로그래머스 주식 가격 C++ (0) | 2023.08.17 |
프로그래머스 기능개발 C++ (0) | 2023.08.17 |
프로그래머스 전화번호 목록 C++ (0) | 2023.08.17 |
프로그래머스 위장 C++ (0) | 2023.08.17 |