728x90
문제 11652번
https://www.acmicpc.net/problem/11652
입력받은 값들을 정렬한 후 앞뒤를 비교하여 같으면 count해준다. 그렇게 count값이 max보다 크다면 max를 count값으로 업데이트해주고 출력해야하는 값을 count가 많은 입력값으로 업데이트해준다. 그렇게 반복문을 마치고 result값을 출력해주면 원하는 값을 구할 수 있다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N;
vector<long long> v;
long long a;
int main() {
cin >> N;
for (int i = 0; i < N; i++) {
cin >> a;
v.push_back(a);
}
sort(v.begin(), v.end());
int count = 0, max = 0;
long long result = v[0];
for (int i = 1; i < N; i++) {
if (v[i] == v[i - 1]) {
count++;
if (count > max) {
max = count;
result = v[i];
}
}
else {
count = 0;
}
}
cout << result;
return 0;
}
728x90
'백준 > C++' 카테고리의 다른 글
[C++] 백준 2231번 - 분해합 (0) | 2024.05.13 |
---|---|
[C++] 백준 5635번 - 생일 (0) | 2024.05.12 |
[C++] 백준 9946번 - 단어 퍼즐 (0) | 2024.05.11 |
[C++] 백준 10610번 - 30 (0) | 2024.05.10 |
[C++] 백준 2075번 - N번째 큰 수 (0) | 2024.05.08 |