백준/정렬

10814번: 나이순 정렬 [C++]

Koalitsiya 2023. 3. 27. 18:22

문제 

 

 

풀이

나이와 이름은 가입한 순서대로 주어지므로 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;
}