같은 숫자를 가진 카드가 몇개씩 있는지 세야 한다.
/** 카드
*/
#include <bits/stdc++.h>
using namespace std;
int n, maxnum;
long long num, answer;
map<long long, int> card_map; //<숫자, 개수>
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
while(n--){
cin >> num;
card_map[num]++;
}
for(auto n : card_map){
if(n.second > maxnum) {
maxnum = n.second;
answer = n.first;
}
}
cout << answer;
return 0;
}
숫자 마다의 개수를 저장해야 하니까 map 으로 입력받았다. <숫자, 카드의 개수>
최대 카드 개수가 10만 이하여서 한번 반복문으로 순회했다.
개수가 가장 많은 것을 만나면 maxnum으로 저장하고, 그 숫자를 answer에 저장했다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
영화감독 숌 백준 1436번 c++ (0) | 2022.02.14 |
---|---|
랜선 자르기 백준 1652번 c++ (0) | 2022.02.14 |
쇠막대기 백준 10799번 c++ (0) | 2022.02.13 |
괄호 백준 9012번 c++ (0) | 2022.02.13 |
좋은 단어 백준 3986번 c++ (두번째 풀기) (0) | 2022.02.11 |