https://www.acmicpc.net/problem/25757
✨
set
➡️ 냅다 넣으면 중복 제거되고, 정렬까지 됨
➡️ index 접근 불가능해서 iterator 이용해야 함
➡️ s.erase(1); 이런식으로 원소 제거 가능
중복 제거한 리스트에서 무슨 게임인지에 따라 길이를 출력하던지, 길이를 2 또는 3으로 나눈 몫으로 출력하면 되는 문제
엄청 간단한데 vector에서 find 함수 이용해서 원소 삽입하려고 했더니 시간초과 났다.
이 문제는 인덱스 접근이 필요없으므로 set
이용하면 훨씬 간단
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
char game;
set<string> s;
cin >> N >> game;
for (int i = 0; i < N; i++) {
string str;
cin >> str;
s.insert(str);
}
if (game == 'Y')
cout << s.size();
else if (game == 'F')
cout << s.size() / 2;
else
cout << s.size() / 3;
return 0;
}