문제
풀이
나이와 이름은 가입한 순서대로 주어지므로 pair<int, string>으로 나이와 이름을 매칭시켜준 후, 나이만 비교해서 정렬하면 된다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(pair<int, string> a, pair<int, string> b) {
return a.first < b.first;
}
int main() {
int n, age;
string name;
vector<pair<int, string>> v;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> age >> name;
v.push_back(make_pair(age, name));
}
stable_sort(v.begin(), v.end(), cmp);
for (int i = 0; i < v.size(); i++)
cout << v[i].first << " " << v[i].second << "\n";
return 0;
}
'백준 > 정렬' 카테고리의 다른 글
18870번: 좌표 압축 [C++] (0) | 2023.03.27 |
---|---|
11651번 좌표 정렬하기 2 [C++] (0) | 2023.03.27 |
11650번: 좌표 정렬하기 [C++] (0) | 2023.03.27 |
1427번: 소트인사이드 [C++] (0) | 2023.03.27 |
2108번: 통계학 [C++] (0) | 2023.03.27 |