[BOJ/C++] 25757 임스와 함께하는 미니게임

Hanbi·2024년 1월 22일
0

Problem Solving

목록 보기
87/108
post-thumbnail

문제

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;
}
profile
👩🏻‍💻

0개의 댓글