백준 1302

HR·2022년 6월 8일
0

알고리즘 문제풀이

목록 보기
42/50

백준 1302 : 베스트셀러

  1. 입력을 하나씩 받음, map<string, int>
  2. 기존 map에서 찾으면 int 증가, 못찾으면 map에 insert
  3. 다 했으면 마지막에 map의 int값들 중 최대값의 string값 출력

정답 코드

#include <iostream>
#include <algorithm>
#include <map>

using namespace std;

int n;
map<string, int> m;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	cin>>n;
	for(int i=0; i<n; i++) {
		string in;
		cin>>in;
		if(m.find(in)!=m.end()) { //map에 이미 존재하는 경우 
			m[in]++;
		}
		else {
			m.insert({in, 0});
		}
	}
	
	int ans=-1;
	string ansStr="";
	for(auto a: m) {
		if(a.second > ans) {
			ans=a.second;
			ansStr=a.first;
		}
	}
	
	cout<<ansStr<<'\n';
	
	return 0;
}

0개의 댓글