Programmers 68644 두 개 뽑아서 더하기
in Algorithm
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/68644
나의 풀이
최소우선순위 큐를 통해 작은순서대로 두 수의 합을 얻어내고, 중복되는 수는 제외함
풀이 코드 : 68644 두 개 뽑아서 더하기
#include <string>
#include <vector>
#include <queue>
using namespace std;
vector<int> solution(vector<int> numbers) {
vector<int> answer;
priority_queue<int> pq;
int sum;
for(int i=0;i<numbers.size();i++){
for(int j=i+1;j<numbers.size();j++){
sum = numbers[i] + numbers[j];
pq.push(-sum);
}
}
int num = -1;
while(!pq.empty()){
if(-pq.top() == num){
pq.pop();
continue;
}
num = -pq.top();
pq.pop();
answer.push_back(num);
}
return answer;
}