[백준/Java] 11723 - 집합

2025. 8. 31. 13:10·코딩테스트/백준

https://www.acmicpc.net/problem/11723

문제


풀이

중복을 고려하지 않아도 되기 때문에 HashSet을 이용하여 풀이한다

문제에서 주어지는 조건을 Set의 적절한 메서드를 사용하여 해결

코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;


public class Main {


    static Set<Integer> set;
    static StringBuilder sb;

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        sb = new StringBuilder();

        set = new HashSet<>();

        int M = Integer.parseInt(br.readLine());

        int x = 0;
        while (M-- > 0) {
            // 연산을 입력받는다
            st = new StringTokenizer(br.readLine());
            String cmd = st.nextToken();
            // 다음 토큰이 들어올때만 x를 초기화해준다
            if (st.hasMoreTokens()) {
                x = Integer.parseInt(st.nextToken());
            }

            // 연산에 맞는 메서드를 호출
            switch(cmd) {
                case "add": add(x); break;
                case "remove": remove(x); break;
                case "check": check(x); break;
                case "toggle": toggle(x); break;
                case "all" : all(); break;
                case "empty": empty(); break;
            }
        }

        System.out.println(sb);
    }

    static void add(int x) {
        set.add(x);
    }

    static void remove(int x) {
        set.remove(x);
    }

    static void check(int x) {
        if (set.contains(x)) {
            sb.append(1 + "\n");
        } else {
            sb.append(0 + "\n");
        }
    }

    static void toggle(int x) {
        if (set.contains(x)) {
            set.remove(x);
        } else {
            set.add(x);
        }
    }

    static void all() {
        set.clear();
        for (int i = 1; i <= 20; i++) {
            set.add(i);
        }
    }

    static void empty() {
        set.clear();
    }
}

결과

'코딩테스트/백준' 카테고리의 다른 글
  • [백준/Java] 11399 - ATM
  • [백준/Java] 11047 - 동전 0
  • [백준/Java] 3052번 - 나머지
  • [백준/Java] 10811번 - 바구니 뒤집기
KDH.dev
KDH.dev
  • KDH.dev
    CodingHard
    KDH.dev
  • 전체
    오늘
    어제
    • 전체글 (82)
      • 코딩테스트 (74)
        • 프로그래머스 (13)
        • 백준 (61)
      • CS (4)
        • 네트워크 (4)
      • Spring (1)
      • Java (3)
        • 자료구조 (3)
        • 알고리즘 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바
    CS
    프로그래머스 Lv.0
    14940
    21736
    프로그래머스
    백준
    5525
    코딩테스트
    자료구조
    16935
    네트워크
    멀티캠퍼스it부트캠프
    30804
    [LG유플러스] 유레카 백엔드 개발자
    13913
    11660
    17626
    18111
    부트캠프후기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
KDH.dev
[백준/Java] 11723 - 집합
상단으로

티스토리툴바