No Rules Rules

나이순 정렬 (feat. 백준, 10814번) 본문

생활/코테

나이순 정렬 (feat. 백준, 10814번)

개발하는 완두콩 2022. 8. 2. 23:30
728x90
반응형

나이순 정렬
https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

반응형
// woohyeon.kim
// https://www.acmicpc.net/problem/10814
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct User {
	int number;
	int age;
	string name;
};
inline bool cmp(const User& v1, const User& v2) {
	if (v1.age == v2.age)
		return v1.number < v2.number;
	return v1.age < v2.age;
}
int main() {
	ios::sync_with_stdio(false), cin.tie(NULL);
	register int N;
	User user[100000];
	cin >> N;
	for (register int i = 0; i < N; ++i)
		cin >> user[i].age >> user[i].name, user[i].number = i;
	sort(user, user + N, cmp);
	for (register int i = 0; i < N; ++i)
		cout << user[i].age << " " << user[i].name << "\n";
	return 0;
}
// *&)*@*
  1. 문제의 조건인 "회원을 나이 순, 나이가 같으면 가입한 순" 으로 정렬되도록 cmp를 구현하고 이를 sort의 predicate로 정의하였습니다.
728x90
반응형
Comments