주소 : https://www.acmicpc.net/problem/11723
11723번: 집합
첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다.
www.acmicpc.net
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <set>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int M;
cin >> M;
set<int> s;
while (M != 0)
{
string order;
cin >> order;
if (order == "add")
{
int element;
cin >> element;
s.insert(element);
}
else if (order == "check")
{
int element;
cin >> element;
cout << s.count(element) << '\n';
}
else if (order == "remove")
{
int element;
cin >> element;
s.erase(element);
}
else if (order == "toggle")
{
int element;
cin >> element;
if (s.count(element) == 1)
s.erase(element);
else s.insert(element);
}
else if (order == "all")
{
for (int i = 1;i <= 20;i++)
s.insert(i);
}
else if (order == "empty")
s.clear();
M--;
}
}
마무리 : 이 문제는 집합을 이용하는 문제로 C++에 있는 라이브러리 함수를 이용하여 문제에 주어지는 조건에 맞게 코드를 짜면 된다.
'백준 > C++' 카테고리의 다른 글
백준 1764번 : 듣보잡 [C++] (0) | 2022.08.26 |
---|---|
백준 1620번 : 나는야 포켓몬 마스터 이다솜 [C++] (0) | 2022.08.26 |
백준 1676번 : 팩토리얼 0의 개수 [C++] (0) | 2022.08.25 |
백준 18111번 : 마인크래프트 [C++] (0) | 2022.08.23 |
백준 2805번 : 나무 자르기 [C++] (0) | 2022.08.23 |