✏️ Algorithm/알고리즘 풀이

백준 11652번: 카드 - C++

미미누 2022. 2. 13. 19:43

[문제]

https://www.acmicpc.net/problem/11652

 

11652번: 카드

준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지

www.acmicpc.net

 

[풀이]

정렬

 

[코드]

 

#include <bits/stdc++.h>

using namespace std;

int n;

long long a[100005];

int main(void){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> n;
    for(int i=0; i<n; i++)
        cin >> a[i];
    sort(a, a+n);
    
    int cnt = 0;
    long long mxval= -(111 <<62)-1;
    int mxcnt = 0;
    for(int i=0; i<n; i++) {
        if(i==0 || a[i-1] == a[i]) cnt++;
        else{
            if(cnt > mxcnt){
                mxcnt = cnt;
                mxval = a[i-1];
            }
            cnt = 1;
        }
    }
    if(cnt > mxcnt) mxval = a[n-1];
    cout << mxval;
}