CodingTest/Baekjoon

[baekjoon] 백준 11723번(자바): 집합

JunJangE 2022. 8. 13. 23:35

문제

 

11723번: 집합

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

www.acmicpc.net

알고리즘

- 문제의 조건에 맞게 switch문으로 문제를 수행한다.

코드

package implementation;

import java.io.*;
import java.util.HashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 입력 받기 위한 인스턴스
        StringBuilder sb = new StringBuilder();


        int m = Integer.parseInt(br.readLine()); // 연산의 수 입력 받기
        Set<Integer> set = new HashSet<>(); // 중복 허용 X


        for (int i = 0; i < m; i++){
            String[] input = br.readLine().split(" ");


            switch (input[0]){
                case "all":
                    for (int j = 0; j < 20; j++){
                        set.add(j+1);
                    }
                    break;

                case "add":
                    set.add(Integer.parseInt(input[1]));
                    break;

                case "remove":
                    set.remove(Integer.parseInt(input[1]));
                    break;

                case "check":

                    if (set.contains(Integer.parseInt(input[1]))){
                        sb.append("1\n");
                    }else {
                        sb.append("0\n");
                    }
                    break;


                case "toggle":
                    if (set.contains(Integer.parseInt(input[1]))){
                        set.remove(Integer.parseInt(input[1]));

                    }else{
                        set.add(Integer.parseInt(input[1]));
                    }
                    break;


                case "empty":
                    set.clear();
                    break;


            }

        }
        System.out.print(sb);


    }
}

github

 

GitHub - junjange/JavaAlgorithm

Contribute to junjange/JavaAlgorithm development by creating an account on GitHub.

github.com