백준 11723 - 집합 (Python3)
코드
m = int(input())
s = set()
for _ in range(m):
M = input().split()
if M[0] == 'add':
s.add(int(M[1]))
# remove로 없는 원소 제거 시 에러 발생
# discard는 에러 발생 안 함
elif M[0] == 'remove':
# if int(M[1]) in s:
# s.remove(int(M[1]))
# else:
# pass
s.discard(int(M[1]))
elif M[0] == 'check':
# if int(M[1]) in s:
# print(1)
# else:
# print(0)
print(1 if intM([1]) in s else 0)
elif M[0] == 'toggle':
if int(M[1]) in s:
s.discard(int(M[1]))
else:
s.add(int(M[1]))
elif M[0] == 'all':
s = set(list(range(1,21)))
elif M[0] == 'empty':
s.clear()
문제 해설
discard 메소드를 사용하여 remove를 사용할 때와 달리 존재하지 않는 원소 제거에 대한 코너 케이스를 처리해주지 않아도 되게 구현하여 좀 더 간결하게 코드를 작성할 수 있다.
댓글남기기