#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
vector<pair<int,int>> v1;
while (n--) {
int i,j;
cin >> i >> j;
v1.push_back(make_pair(i, j));
}
sort(v1.begin(), v1.end());
for (int i = 0; i < v1.size(); i++) {
cout << v1[i].first << " " << v1[i].second << "\n";
}
}
쌍을 이루는 문제가 있을 경우 pair를 이용하는 것이 좋다.
선언은 vector<pair<type1,type2>> 로 선언해줄 수 있다.
여기서 sort를 사용하게되면, first에 있는 순서로 정렬하다 동일한 결과가 나올경우 second로 재정렬해서 오름차순으로 나타내준다.
따라서 이 문제에서의 핵심은 쌍을 이룬 정렬을 어떻게 표현하느냐를 물어보는 문제이다.
'Algorithm' 카테고리의 다른 글
[백준] 알고리즘 10814번 - 나이순 정렬 문제 (0) | 2020.12.31 |
---|---|
[백준] 알고리즘 11651번 - 좌표 정렬하기2 문제 (0) | 2020.12.30 |
[백준] 알고리즘 2751번 - 수 정렬하기2 문제 (0) | 2020.12.30 |
[백준] 알고리즘 1676번 - 팩토리얼 0의 개수 (0) | 2020.12.29 |
[백준] 알고리즘 10872번 - 팩토리얼 문제 (0) | 2020.12.29 |