Programmers 12941 최솟값 만들기
in Algorithm
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12941
나의 풀이
A,B의 원소가 자연수이기 떄문에 A의 최댓값과 B의 최솟값을 곱하여 더해야 최솟값이 된다.
풀이 코드 : 12941 최솟값 만들기
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int solution(vector<int> A, vector<int> B)
{
int answer = 0;
priority_queue<int> A_pq, B_pq;
for(int i=0;i<A.size();i++){
A_pq.push(-A[i]);
B_pq.push(B[i]);
}
while(!A_pq.empty()){
answer += B_pq.top() * (-A_pq.top());
B_pq.pop();
A_pq.pop();
}
return answer;
}