SMALL

안녕하세요 오늘은 vector를 이용하여 집합을 구현해서 문제를 풀어보겠습니다.
전략:
vector를 21의 길이로 만들어서 v[num]이 1이면 num이 있다고 생각하고, v[num]이 0이면 num이 없다고 생각하고 풀 면 쉽게 풀 수 있습니다.
코드:
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int M;
cin>>M;
vector<int> v(21);
for(int i = 0; i<M; ++i){
string x;
cin>>x;
if(x=="add"){
int num;
cin>>num;
v[num] = 1;
}
else if(x=="remove"){
int num;
cin>>num;
v[num] = 0;
}
else if(x=="check"){
int num;
cin>>num;
if(v[num] == 0){
cout<<"0\n";
}
else if(v[num] == 1){
cout<<"1\n";
}
}
else if(x=="toggle"){
int num;
cin>>num;
if(v[num] == 1){
v[num]=0;
}
else if(v[num] == 0){
v[num]=1;
}
}
else if(x=="all"){
for(int j= 1; j<=20; ++j){
v[j] = 1;
}
}
else if(x=="empty"){
for(int j = 1; j<=20; ++j){
v[j] = 0;
}
}
}
}
LIST
'BOJ 문제풀이' 카테고리의 다른 글
백준 1620번 c++ 풀이 (0) | 2021.08.17 |
---|---|
백준 17626번 c++ 풀이 (0) | 2021.08.14 |
백준 2748번 c++ 풀이 (0) | 2021.08.14 |
백준 18111번 c++ 풀이 (0) | 2021.08.14 |
백준 10773번 c++ 풀이 (0) | 2021.08.13 |