Level 3. 숫자 게임
최소힙을 구성하고 앞에서부터 비교하면서, B가 더 커 점수를 얻을 수 있는 경우 A의 다음 숫자와 비교하면 된다.
레벨 3 문제는 아닌 것 같다..
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int solution(vector<int> A, vector<int> B)
{
int answer = 0;
priority_queue<int, vector<int>, greater<int>> pqA, pqB;
for (int num : A) pqA.emplace(num);
for (int num : B) pqB.emplace(num);
while (!pqB.empty())
{
if (pqA.top() < pqB.top())
++answer,
pqA.pop();
pqB.pop();
}
return answer;
}
'자료구조 & 알고리즘 > 프로그래머스' 카테고리의 다른 글
Level 3. 섬 연결하기 (0) | 2023.08.25 |
---|---|
Level 3. 가장 긴 팰린드롬 (0) | 2023.08.24 |
Level 2. 교점에 별 만들기 (0) | 2023.08.22 |
Level 2. 유사 칸토어 비트열 (0) | 2023.08.21 |
Level 2. 숫자 카드 나누기 (0) | 2023.08.20 |