반응형
문제 출처 :
https://www.acmicpc.net/problem/11292
알고리즘 분석 :
문제 해결에 필요한 사항
1. Map STL :: http://crocus.co.kr/604
map과 vector를 잘 이용하면 쉽게 문제를 풀 수 있다.
map의 key를 height로, value를 vector로 선언하여 height에 해당하는 이름들을 vector에 달아준다.
그 뒤 map의 성질을 이용하여 가장 키가 큰 값은 가장 뒤에있을 것이니
map.end() - 1상태의 vector에 들어있는 값을 모두 출력하면 가장 키가 큰 사람들의 이름이 모두 출력된다.
소스 코드 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <iostream> #include <cstdio> #include <vector> #include <string> #include <map> using namespace std; int main() { while (1) { int n; scanf("%d", &n); if (!n) break; map<double, vector<string>> mp; for (int i = 0; i < n; i++) { string name; double height; cin >> name >> height; mp[height].push_back(name); } auto it = mp.end(); it--; for (auto i : it->second) cout << i << endl; } return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[11320번] 삼각 무늬 - 1 (2) | 2017.09.21 |
---|---|
[2810번] 컵홀더 (0) | 2017.09.21 |
[6416번] 트리인가? (0) | 2017.09.18 |
[14648번] 쿼리 맛보기 (0) | 2017.09.17 |
카카오 모의 테스트 풀이(주소 수록) (0) | 2017.09.15 |