728x90
반응형
https://www.acmicpc.net/problem/11652
11652번: 카드
준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지
www.acmicpc.net
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
long long k;
vector<long long> v;
cin >> n;
for(int i = 0; i < n; i++){
cin >> k;
v.push_back(k);
}
sort(v.begin(), v.end());
int t = 0;
int max = 0;
long long ans;
while(t < n){
long long nn = v[t];
int num = upper_bound(v.begin(), v.end(), nn) - lower_bound(v.begin(), v.end(), nn);
if(num > max) {
max = num;
ans = v[t];
}
t = upper_bound(v.begin(), v.end(), nn) - v.begin() + 1;
}
cout << ans << endl;
return 0;
}
적혀 있는 수는 -2^62보다 크거나 같고 2^62보다 작거나 같기 때문에 자료형을 long long으로 해주어야 한다.
카드에 적혀있는 숫자를 벡터에 넣고 정렬한 뒤, upper_bound와 lower_bound를 활용해 출현빈도수를 파악한 뒤, 최대 출현빈도수를 갖는 숫자를 출력한다.
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ] 21966번 (중략) (C++) (0) | 2022.02.13 |
---|---|
[BOJ] 1461번 도서관 (C++) (0) | 2022.02.13 |
[BOJ] 2630번 색종이 만들기 (C++) (0) | 2022.02.12 |
[BOJ] 1697번 숨바꼭질 (C++) (0) | 2022.02.12 |
[BOJ] 1931번 회의실 배정 (C++) (0) | 2022.02.11 |