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에 해당하는 집합을 만들어서 명령어가 들어오면 아예 교체해주는 방식으로 구현했다.