반응형
pair, sort 를 사용하기
#include <algorithm>
#include <tuple>
#include <vector>
using namespace std;
int main(){
vector<pair<int, int>> vc;
for (int i = 0; i < 5; i++) {
vc.push_back(make_pair(1, 5));
vc.push_back(make_pair(1, 3));
vc.push_back(make_pair(2, 4));
vc.push_back(make_pair(2, 3));
vc.push_back(make_pair(3, 3));
vc.push_back(make_pair(3, 2));
vc.push_back(make_pair(4, 2));
vc.push_back(make_pair(5, 1));
}
sort(vc.begin(), vc.end()); // 오름차순 정렬
sort(vc.begin(), vc.end(), greater<>()); //내림차순 정렬
return 0;
}
bool compare(pair<int, int> a, pair<int, int> b){
if(a.first==b.first){ // pair first가 같다면
return a.second>b.second; // 두번 째로 정렬 (내림차순)
}
return a.first>b.first; (내림 차순)
}
// 1 2 2 4 --> 4 2 2 1
// 1 7 3 4 --> 4 7 3 1
#include <algorithm>
#include <tuple>
#include <vector>
using namespace std;
int main(){
vector<pair<int, int>> vc;
for (int i = 0; i < 5; i++) {
vc.push_back(make_pair(1, 5));
}
int x = vc[0].first;
int y = vc[0].second;
int x1, x2;
tie(x1, x2) = vc[0];
return 0;
}
first, second 키워드 없이 #include <tuple> 로 tie 함수로 묶어주면 깔끔하게 정리
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] cpp 파이프 옮기기 (0) | 2020.09.20 |
---|---|
[알고리즘] 아기상어 (0) | 2020.09.20 |
[알고리즘] 스타트와 링크 (0) | 2020.09.20 |
[알고리즘] 시험 감독 (0) | 2020.09.20 |
[알고리즘] cpp 소수를 찾는 방법 에라토네스 체 (0) | 2020.09.19 |
댓글