정렬문제입니다.
정렬한 후에 같은 수를 카운트해서 카운트가 가장 큰 수를 출력했습니다.
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
int n;
long long x;
long long num;
int count = 0;
long long manyNum;
int manyNumCount = 0;
vector<long long> v;
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
scanf("%lld", &x);
v.push_back(x);
}
sort(v.begin(), v.end());
num = v[0];
manyNum = v[0];
for (int i = 1; i < n; ++i) {
if (num == v[i]) {
++count;
}
else {
num = v[i];
count = 0;
}
if (count > manyNumCount) {
manyNumCount = count;
manyNum = num;
}
}
printf("%lld\n", manyNum);
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 2959번 거북이 (0) | 2019.09.17 |
---|---|
[C++] 백준 5052번 전화번호 목록 (0) | 2019.09.16 |
[C++] 백준 3047번 ABC (0) | 2019.09.16 |
[C++] 백준 10825번 국영수 (0) | 2019.09.16 |
[C++] 백준 11004번 K번째 수 (0) | 2019.09.15 |