알고리즘 풀이/백준
[10814] 백준 - 나이순 정렬(C++)
데롱디롱
2020. 4. 30. 01:57
728x90
* 생각하지 못한 점
- 벡터가 (나이, 이름)이렇게 쌍을 이루고 있고 어차피 회원가입 순서대로 입력이 되기 때문에
나이에대해서만 정렬했었으나, sort()는 원래의 자리를 보존해준다는 보장이 없었기에 틀렸다고 나옴ㅠ
=> stable_sort()를 쓰자
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
bool compare(const pair<int, string>& a, const pair<int, string>& b) {
return a.first < b.first;
}
int main() {
// 입출력 속도 개선
cin.tie(NULL);
ios_base::sync_with_stdio(false);
long int N;
cin >> N;
vector<pair<int, string>> v(N);
for (int i = 0; i < N; i++)
{
cin >> v[i].first >> v[i].second;
}
stable_sort(v.begin(), v.end(), compare);
for (auto &k : v)
{
cout << k.first << " " << k.second << "\n";
}
return 0;
}