10814 - 나이순정렬
10814 문제 링크
접근법
vector와 algorithm 헤더를 사용하면 매우 쉽게 풀 수 있다. 나이와 이름을 입력받기 위해서 vector에 pair로 입력을 받았다.
#include <iostream>
#include <stdio.h>
#include <string>
#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;
vector <pair<int , string> > age_name;
scanf("%d" , &N);
int tmp_first;
string tmp_second;
for(int i=0; i< N; i++)
{
cin >> tmp_first >> tmp_second;
age_name.push_back(make_pair(tmp_first,tmp_second));
}
stable_sort(age_name.begin(),age_name.end(),cmp);
for(int i = 0; i<age_name.size(); i++)
{
printf("%d %s\n",age_name[i].first,age_name[i].second.c_str());
}
return 0;
}
결론
기존에 있는 헤더를 잘 사용하는것도 좋은 방법이다.