지나가던 개발자
[Python] 백준 11723번(집합) 문제 풀이 본문
import sys
S = 0
for i in range(int(sys.stdin.readline())):
command = sys.stdin.readline().split()
if len(command) == 1:
if command[0] == "all":
S = (1 << 21) - 1
elif command[0] == "empty":
S = 0
else:
command[1] = int(command[1]) - 1
if command[0] == "add":
S |= (1 << int(command[1]))
elif command[0] == "remove":
S &= ~(1 << int(command[1]))
elif command[0] == "toggle":
S ^= (1 << int(command[1]))
else:
if S & (1 << command[1]):
print(1)
else:
print(0)
비트마스킹 기법을 활용하여 문제를 풀었다.
'PS > Python' 카테고리의 다른 글
[Python] 백준 11728번(배열 합치기) 문제 풀이 (0) | 2022.12.04 |
---|---|
[Python] 백준 11651번(좌표 정렬하기 2) 문제 풀이 (0) | 2022.12.03 |
[Python] 백준 17478번(재귀함수가 뭔가요?) 문제 풀이 (0) | 2022.12.01 |
[Python] 백준 7568번(덩치) 문제 풀이 (0) | 2022.12.01 |
[Python] 백준 14382번(숫자세는 양 (Large)) 문제 풀이 (0) | 2022.11.28 |
Comments