정말 풀기 힘들었던 문제
백준 사이트 기준으로 Python 3를 사용해야 풀린다.
python
"""집합"""
import sys
S = set()
for _ in range(int(sys.stdin.readline())):
order = sys.stdin.readline().split()
if len(order) == 1:
ord1 = order[0]
else:
ord1, ord2 = order
if ord1 == "add":
S.add(int(ord2))
elif ord1 == "remove":
S.discard(int(ord2))
elif ord1 == "check":
if int(ord2) in S:
print(1)
else:
print(0)
elif ord1 == "toggle":
if int(ord2) in S:
S.discard(int(ord2))
else:
S.add(int(ord2))
elif ord1 == "all":
S = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20}
else:
S.clear()
- sys를 써서 stdin.readline()으로 입력받기
- 최대한 if, else문을 적게 써야 한다.
- discard() 를 써야 한다.
- all 나올 때 그냥 숫자를 일일히 적어야 한다.
- 메모리를 줄이기 위한 극단적인 방법
왜 이렇게 메모리를 걱정해야 하는가?
알고보니….