프로그래머스 문제풀이
코딩테스트 연습 > 스택/큐 > 프린터
programmers.co.kr/learn/courses/30/lessons/42587
C++ Latest
/*
* 프로그래머스
* 코딩테스트 연습 > 스택/큐 > 프린터
https://programmers.co.kr/learn/courses/30/lessons/42587
*/
#include <iostream>
#include <queue>
using namespace std;
int solution(vector<int> priorities, int location)
{
int answer = 0;
queue<int> idxs;
priority_queue<int> pq;
for (int i = 0; i < priorities.size(); i++)
{
idxs.push(i);
pq.push(priorities[i]);
}
while (true)
{
int idx = idxs.front();
if (priorities[idx] == pq.top())
{
++answer;
if (idx == location)
break;
idxs.pop();
pq.pop();
}
else
{
idxs.pop();
idxs.push(idx);
}
}
return answer;
}
int main()
{
int res = solution({ 1, 1, 9, 1, 1, 1 }, 0);
//int res = solution({ 2, 1, 3, 2 }, 2);
cout << res << endl;
return 0;
}
C++
#include <string>
#include <vector>
#include <deque>
#include <algorithm>
using namespace std;
int solution(vector<int> priorities, int location)
{
int answer = 0;
deque<int> dq;
vector<int> sorted(priorities);
sort(sorted.begin(), sorted.end());
for (int i = 0; i < priorities.size(); i++)
dq.push_back(i);
while (1)
{
if (priorities[dq.front()] == sorted.back())
{
++answer;
if (dq.front() == location)
break;
sorted.pop_back();
dq.pop_front();
}
else
{
dq.push_back(dq.front());
dq.pop_front();
}
}
return answer;
}
정확성 테스트
테스트 1 〉 | 통과 (0.01ms, 3.9MB) |
테스트 2 〉 | 통과 (0.01ms, 3.9MB) |
테스트 3 〉 | 통과 (0.01ms, 3.97MB) |
테스트 4 〉 | 통과 (0.01ms, 3.95MB) |
테스트 5 〉 | 통과 (0.01ms, 3.96MB) |
테스트 6 〉 | 통과 (0.01ms, 3.84MB) |
테스트 7 〉 | 통과 (0.01ms, 3.89MB) |
테스트 8 〉 | 통과 (0.02ms, 3.95MB) |
테스트 9 〉 | 통과 (0.01ms, 3.94MB) |
테스트 10 〉 | 통과 (0.01ms, 3.9MB) |
테스트 11 〉 | 통과 (0.01ms, 3.73MB) |
테스트 12 〉 | 통과 (0.01ms, 3.98MB) |
테스트 13 〉 | 통과 (0.01ms, 3.98MB) |
테스트 14 〉 | 통과 (0.01ms, 3.96MB) |
테스트 15 〉 | 통과 (0.01ms, 3.97MB) |
테스트 16 〉 | 통과 (0.01ms, 3.91MB) |
테스트 17 〉 | 통과 (0.01ms, 3.96MB) |
테스트 18 〉 | 통과 (0.01ms, 3.97MB) |
테스트 19 〉 | 통과 (0.01ms, 3.75MB) |
테스트 20 〉 | 통과 (0.01ms, 3.94MB) |
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 문제풀이 - 더 맵게 (priority_queue) (0) | 2020.10.21 |
---|---|
프로그래머스 문제풀이 - 다리를 지나는 트럭 (큐) (0) | 2020.10.21 |
프로그래머스 문제풀이 - 기능개발 (큐) (0) | 2020.10.21 |
프로그래머스 문제풀이 - 주식가격 (스택) (0) | 2020.10.21 |
프로그래머스 문제풀이 - 베스트앨범 (해시) (0) | 2020.10.21 |