728x90
기본 vector container를 이용한 정렬 문제이다.
저번에 언급했던 compare 함수를 임의로 정의해서 sort 해주었다.
파라미터는 vector의 내용물인 pair로 받아주었다.
또한 &로 받아서 값의 복사가 아닌 참조를 해주어야 시간을 절약할 수 있다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N, x, y;
vector<pair<int, int>> v;
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() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> N;
for (int i = 0; i < N; i++) {
cin >> x >> y;
v.push_back(make_pair(x, y));
}
sort(v.begin(), v.end(), compare);
for (int i = 0; i < v.size(); i++) {
cout << v[i].first << " " << v[i].second << "\n";
}
}
728x90
'문제 풀이 > 백준 알고리즘' 카테고리의 다른 글
[baekjoon 7662] 이중 우선순위 큐 - Map, MutliMap (C++) (0) | 2021.01.02 |
---|---|
[baekjoon 10816] 숫자 카드2 - Hashmap, 이분탐색 (C++) (0) | 2021.01.01 |
[baekjoon 1978] 소수 찾기- 소수, 에라토스테네스의 체 (C++) (0) | 2020.12.30 |
[baekjoon 17269] 이름궁합 테스트- 문자열, 구현 (C++) (0) | 2020.12.27 |
[baekjoon 14425] 문자열 집합- 문자열, map (C++) (0) | 2020.12.24 |