문제 : 백준 25757 : 임스와 함께하는 미니게임
유형 : 문자열, 해시테이블
임스가 미니게임을 같이할 사람을 찾고 있습니다.
플레이할 미니게임으로는 윷놀이 , 같은 그림 찾기 , 원카드 가 있습니다. 각각 2, 3, 4 명이서 플레이하는 게임이며 인원수가 부족하면 게임을 시작할 수 없습니다.
사람들이 임스와 같이 플레이하기를 신청한 횟수 과 임스가 플레이할 게임의 종류가 주어질 때, 최대 몇 번이나 임스와 함께 게임을 플레이할 수 있는지 구하시오.
1) 첫 줄에 총 신청 횟수 N과 진행할 게임이 주어진다
2) N명의 사람 이름이 주어진다. 이때 이름이 동일하면 동일한 사람이다.
2-1) 동일한 이름이 들어오는 것은 무시해도 된다.
3) 한 사람은 한 번만 게임을 할 수 있다.
3-1) 임스는 모든 게임에 참여하므로 실제 필요한 인원은 게임별로 1, 2, 3명이다.
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main() {
int n;
char game;
cin >> n >> game;
string user;
unordered_set<string> userSet;
for (int i = 0; i < n; i++) {
cin >> user;
userSet.insert(user);
}
int count = userSet.size();
if (game == 'Y') {
cout << count << endl;
return 0;
}
if (game == 'F') {
cout << count/2 << endl;
return 0;
}
if (game == 'O') {
cout << count/3 << endl;
return 0;
}
return 0;
}

해시 테이블 활용이 익숙해지고 있는 것 같다.