백준 10814번 나이순 정렬

#10814. 나이순 정렬

문제링크

Problem

  • 나이와 이름이 입력으로 주어진다.
  • 나이순으로 정렬
    • 나이가 같다면 가입한 순서로 정렬(입력 순으로)

Solution

  • 으로 key가 중복될 수 있으니 multimap을 사용한다.
  • map 자체가 key가 오름차순을 유지하도록 data를 넣어준다.
    같다면 입력순으로 된다.

1 Try

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
int n, age;
string name;
multimap<int, string> answer;
cin >> n;
for(int i = 0; i < n; ++i) {
cin >> age >> name;
answer.insert(make_pair(age, name));
}
for(auto ans : answer) {
cout << ans.first << " " << ans.second << '\n';
}
return 0;
}