문제 링크입니다: https://www.acmicpc.net/problem/1302
알파벳 오름차순으로 정렬을 한 뒤 탐색을 통해 빈도가 제일 높은 문자열을 찾아주면 되는 문제였습니다.
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
vector<string> v(N);
for (int i = 0; i < N; i++)
cin >> v[i];
int maxNum = 0;
int num = 0;
string temp = v[0];
string result;
sort(v.begin(), v.end());
for (int i = 0; i < N; i++)
{
if (v[i] == temp)
num++;
else
{
if (maxNum < num)
{
maxNum = num;
result = temp;
}
temp = v[i];
num = 1;
}
}
if (maxNum < num)
result = temp;
cout << result << "\n";
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 11923번 PUTOVANJE (0) | 2018.09.27 |
---|---|
백준 11924번 PIANINO (0) | 2018.09.27 |
백준 1568번 새 (0) | 2018.09.26 |
백준 2712번 미국 스타일 (0) | 2018.09.26 |
백준 5901번 Relocation (0) | 2018.09.26 |