본문 바로가기
  • 개발 / 공부 / 일상
C++

(C++) [백준] 베스트셀러(Hash)

by JJeongHyun 2023. 1. 10.
반응형

https://www.acmicpc.net/problem/1302

 

1302번: 베스트셀러

첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고

www.acmicpc.net

 

요약 )

  1. 첫 번째 줄에는 오늘 하루 동안 팔린 책의 개수를 입력받는다
  2. 그 이후 책의 제목들을 입력한다.
    1. 첫 번째에 입력한 개수만큼 제목들을 입력해야 한다.
    2. 각각의 책 제목의 길이는 50 이하이고, 알파벳 소문자로만 이루어져 있다.

 

 22년 초에 고등학교 동창 애들이랑 총 3명이서 자체 스터디를 잠깐(?) 했었다

그때 화려하고 엄청 유익하진 않았지만 풀었던 풀이 코드를 올려 볼까 라는 생각이 들어 업로드 중

 

#include <iostream>
#include<map>
#include<string>
#include<vector>
#include<algorithm>

using namespace std;

map<string, int> m;
vector<pair<int, string>> v;

int main()
{
	int n;
	string tmp;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
	cin >> tmp;
	if (m.find(tmp) == m.end())
	m.insert({ tmp,1 });
	else
	m[tmp]++;
}


for (auto it = m.begin(); it != m.end(); it++)
	v.push_back({ -it->second, it->first });

sort(v.begin(), v.end());

cout << v[0].second << "\\n";
	return 0;
}

 

'C++' 카테고리의 다른 글

(C++) [백준] 카드1  (0) 2023.01.10
(C++) [백준] 큐  (0) 2023.01.10
(C++) [백준] 괄호(Parenthesis)  (0) 2023.01.10
(C++) [백준] Stack  (0) 2023.01.10
(C++) [백준] 회사에 있는 사람(Hash)  (0) 2023.01.10