글 목적 : C++, Python 둘 다 코테언어로 사용하다보니 헷갈린다. 언젠가 또 'C++ sort'와 ;'C++ 우선순위 큐' 등을 검색할 나를 위한 기록
헤더 : #include <algorithm>
sort(A.begin(),A.end()); // 오름차순
sort(B.begin(), B.end(), greater<int>()); // 내림차순
bool compare(string a, string b){
if (a.size()==b.size()){ //문자열 길이가 같으면, 사전 순
return a < b;
} else { //길이 다르면, 길이 짧은 순
return a.size() < b.size();
}
}
//사용 시
sort(v.begin(), v.end(), compare);
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int N, x, y;
vector<pair<int,int>> v;
cin>>N;
for(int i=0; i<N; i++){
cin>>x>>y;
v.push_back({x, y});
}
sort(v.begin(), v.end());
for(int i=0; i<N; i++) {
cout<<v[i].first <<" "<< v[i].second<<'\n';
}
return 0;
}
#include <iostream>
#include <vector>
#include<queue>
using namespace std;
struct compare {
bool operator()(int a, int b){
if (abs(a) == abs(b)){
return a > b;
}
return abs(a) > abs(b);
}
};
int main() {
int N, num;
vector<int> v;
priority_queue<int, vector<int>, compare> q;
cin>>N;
for (int i=0; i<N; i++){
cin>>num;
if(num==0){
if(q.empty()){
cout<<0<<'\n';
continue;
}
cout<<q.top()<<'\n';
q.pop();
continue;
}
q.push(num);
}
return 0;
}
https://learn.microsoft.com/ko-kr/cpp/standard-library/priority-queue-class?view=msvc-170