백준/실버
[백준 1302번] 베스트셀러 (C++)
게임개발기원
2024. 3. 15. 13:42
문제링크 : https://www.acmicpc.net/problem/1302
1302번: 베스트셀러
첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = 987654321;
map<string, int> m;
int N, maxV;
string S, result;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for(int i=0; i<N; i++)
{
cin >> S;
m[S]++;
}
for(auto i : m)
{
if(i.second > maxV)
{
maxV = i.second;
result = i.first;
}
}
cout << result;
return 0;
}
map을 활용하여 현재 입력받은 문자열을 Key, 문자열 에 대한 갯수 Value로 하여 값을 저장한다.
이후 Value의 값의 최대치를 갱신하며, 최대치일 때의 Key값을 따로 저장해주어 출력해주면 된다.