문제
https://www.acmicpc.net/problem/11292
풀이
이름인 문자열과 키인 숫자가 주어지고, 키를 기준으로 정렬하는 문제이다.
이때 키가 같은 사람이 있을 수 있으므로 중복을 제거하는 map이 아닌 multimap을 사용하여 풀이했다.
코드
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main()
{
while(1)
{
multimap<float,string,greater<float>> m;
int n;
cin>>n;
if(n==0) break;
for(int i=0; i<n; i++)
{
string s;
float f;
cin>>s>>f;
m.insert({f,s});
}
float tmp=0;
for(auto iter = m.begin();iter!=m.end(); iter++)
{
if(tmp>iter->first) break;
cout<<iter->second<<" ";
tmp=iter->first;
}
cout<<'\n';
}
}
'알고리즘 > 문제 풀이' 카테고리의 다른 글
백준 9019 - DSLR(C++) (1) | 2023.11.23 |
---|---|
백준 2504 - 괄호의 값(C++) (0) | 2023.04.28 |
백준 4470 - 줄번호 (0) | 2022.11.17 |
백준 17608 - 막대기(C++) (0) | 2022.11.08 |
백준 9933 - 민균이의 비밀번호(C++) (0) | 2022.10.30 |