Notice
Recent Posts
Recent Comments
Link
궤도
[백준] 10814번 : 나이순 정렬 본문
문제
풀이
내가 극찬하는 sort 함수는 사실 stable을 보장하지 않는다. 근데 이 문제는 stable sort를 요구한다. 그렇다면 새로 정렬함수를 짜야할까? 그렇지 않다. stable_sort 함수가 있다. 정말 친절하지 않을수가 없다. 이렇게 stable이 보장됐으니, 나이만 고려하면 된다.
소스코드
#include <iostream>
#include <algorithm>
using namespace std;
struct info {
int age;
char name[101];
};
bool cmp(const info& p1, const info& p2) {
if (p1.age < p2.age) //가입 순이고 stable이면 그냥 나이만 고려하면 됨
return true;
else
return false;
}
int main() {
int N, i;
cin >> N;
info* arr = new info[N];
for (i = 0; i < N; i++)
cin >> arr[i].age >> arr[i].name;
stable_sort(arr, arr + N, cmp); //그냥 sort는 stable 보장하지 않음
for (i = 0; i < N; i++)
cout << arr[i].age << ' ' << arr[i].name << '\n';
}
Comments