목차
코드
#include <algorithm>
#include <vector>
using namespace std;
bool compare(const pair<int, int> &a, const pair<int, int> &b){
if(a.first == b.first){
return a.second < b.second;
}
else{
return a.first < b.first;
}
}
int main() {
vector <pair<int, int>> pos;
int n;
int tmp_x, tmp_y;
scanf("%d", &n);
for(int i=0; i<n; i++){
scanf("%d %d", &tmp_x, &tmp_y);
pos.push_back(make_pair(tmp_x, tmp_y));
}
sort(pos.begin(), pos.end(), compare);
for(int j=0; j<n; j++){
cout << pos[j].first << " " << pos[j].second << "\n";
}
return 0;
}
정리
이 문제에 들어서면서 그 동안은 굳이 사용하지 않았던 Vector와 Pair를 사용했다.
하면서, 이번기회에 확실히 익히고 앞으로는 Vector와 Pair에 대한 구글 검색을 최소화 하고자 정리를 하려 한다.
사견
2개의 항목에 대해 정렬을 해 주어야 하기 때문에 vector에 pair를 사용 해 봤다.
우선 첫 번째 항목을 비교했을 때 같으면 두번째 항목이 작은 것이 앞으로 오고,
첫 번째 항목을 비교했을때 작은것이 앞으로 오게 해서 sort했다.
'공부 > 백준' 카테고리의 다른 글
10814번: 나이순 정렬(백준 C++) (0) | 2020.11.03 |
---|---|
1181번: 단어 정렬(백준 C++) (0) | 2020.11.02 |
1427번: 소트인사이드(백준 C++) (0) | 2020.10.31 |
2108번: 통계학(백준 C++) (0) | 2020.10.30 |
10989번: 수 정렬하기3(백준 C++) (0) | 2020.10.29 |