지나가던 개발자

[Python] 백준 11723번(집합) 문제 풀이 본문

PS/Python

[Python] 백준 11723번(집합) 문제 풀이

KwonYongHyeon 2022. 12. 2. 17:06

 

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)

 

비트마스킹 기법을 활용하여 문제를 풀었다.

Comments