같은 숫자를 가진 카드가 몇개씩 있는지 세야 한다. 
 
/** 카드
 
 */
#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

+ Recent posts