[백준/파이썬] 11723번

민정·2023년 3월 26일
0

[백준/파이썬]

목록 보기
126/245
post-thumbnail

📍 백준 11723번

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

코드

import sys
input = sys.stdin.readline

num = int(input())
s = set()
zero = set()
twenty = set()

for i in range(1,21):
    twenty.add(i)
    
for _ in range(num):
    temp = list(input().split())
    calc = temp[0]
    
    if len(temp) != 1:
        temp[1] = int(temp[1])
        
    if calc == 'add':
        s.add(temp[1])
    elif calc == 'remove':
        if temp[1] in s:
            s.remove(temp[1])
    elif calc == 'toggle':
        if temp[1] in s:
            s.remove(temp[1])
        else:
            s.add(temp[1])
    elif calc == 'check':
        if temp[1] in s:
            print(1)
        else: 
            print(0)
    elif calc == 'all':
        s = twenty
    elif calc == 'empty':
        s = zero

풀이

말 그대로 풀어서 넣었다.
중복된 값이 있으면 안되므로 set으로 구현했다.
all, empty의 경우 값이 모두 존재하거나 / 공집합이 되는 명령어이므로 all과 empty에 해당하는 집합을 만들어서 명령어가 들어오면 아예 교체해주는 방식으로 구현했다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글