[백준/C++] 11723번 집합

2021. 2. 4. 22:30알고리즘/구현

728x90
반응형

문제: www.acmicpc.net/problem/11723

 

11723번: 집합

첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다.

www.acmicpc.net

 

 

문제풀이

 

간단한 구현문제

 

 

코드

#include <iostream>
#include <vector>

using namespace std;

vector<int> v(20); //크기 20의 전역 벡터 선언

void add(int);
void remove(int);
void check(int);
void toggle(int);
void all();
void empty();

int main(){
    ios::sync_with_stdio(false); cin.tie(NULL);

    int M;
    cin>>M;

    for(int i=0; i<M; i++){
        string str;
        int num;
        cin>>str;

        if(str == "add"){ //입력값과 같은 함수 실행
            cin>>num;
            add(num);
        }

        if(str == "remove"){
            cin>>num;
            remove(num);
        }

        if(str == "check"){
            cin>>num;
            check(num);
        }

        if(str == "toggle"){
            cin>>num;
            toggle(num);
        }

        if(str == "all")
            all();

        if(str == "empty")
            empty();
    }

    return 0;
}

void add(int num){
    v[num-1] = 1;
}

void remove(int num){
    v[num-1] = 0;
}

void check(int num){
        cout<<v[num-1]<<"\n";
}

void toggle(int num){
    if(v[num-1] == 0)
        v[num-1] = 1;
    else
        v[num-1] = 0;
}

void all(){
    for(int i=0; i<20; i++){
        v[i] = 1;
    }
}

void empty(){
    for(int i=0; i<20; i++){
        v[i] = 0;
    }
}

 

 

결과

728x90
반응형

'알고리즘 > 구현' 카테고리의 다른 글

[백준/C++] 1260번 DFS와 BFS  (0) 2021.02.21
[백준/C++] 9375번 패션왕 신해빈  (0) 2021.02.16
[백준/C++] 2108번 통계학  (0) 2021.02.04
[백준/C++] 2164번 카드2  (0) 2021.02.03
[백준/C++] 10989번 수 정렬하기 3  (0) 2021.02.03