반응형
문제 출처 :
https://www.acmicpc.net/problem/11652
알고리즘 분석 :
문제 해결에 필요한 사항
1. Map STL
map을 이용하면 쉽게 해결 할 수 있다.
key를 입력받는 숫자, value를 숫자의 개수로 두고
맵을 순회하며 개수가 최대가 되는 값을 찾아준다.
이때 맵 자체가 정렬이 되어있기에 부등호 ' > ' 를 이용하면 가장 작은 값이지만 개수가 가장 많은 값이 선택된다.
소스 코드 :
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 39 40 41 | #include <iostream> #include <cstdio> #include <map> #include <limits.h> using namespace std; typedef long long ll; map<ll, int> mp; int main() { int n, j = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { ll val; scanf("%lld", &val); mp[val]++; } int maxnum = -1; ll val; for (auto it = mp.begin(); it != mp.end(); it++) { if (it->second > maxnum) { maxnum = it->second; val = it->first; } } printf("%lld", val); return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[11409번] 열혈강호 6 (0) | 2017.12.05 |
---|---|
[7154번] Job Postings (0) | 2017.12.05 |
[11408번] 열혈강호 5 (0) | 2017.12.04 |
[1135번] 뉴스 전하기 (0) | 2017.12.02 |
[1080번] 행렬 (0) | 2017.12.01 |