https://www.acmicpc.net/problem/11651
sort 함수를 사용할 때 직접 정렬 기준을 지정하는 방식으로 풀었다.
기준을 직접 만들 때는 bool comp() 함수를 작성하면 된다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<int, int> pi;
bool comp(pi a, pi b) {
if(a.second == b.second) return a.first < b.first;
return a.second < b.second;
}
int main()
{
int N;
vector<pi> coord;
cin >> N;
for(int i=0; i<N; i++) {
int x, y;
cin >> x >> y;
coord.push_back({x, y});
}
sort(coord.begin(), coord.end(), comp);
for(int i=0; i<N; i++) {
cout << coord[i].first << " " << coord[i].second << "\n";
}
return 0;
}