๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€

๐ŸŸฉ [๋ฐฑ์ค€] [Python] Class3_11723๋ฒˆ_์ง‘ํ•ฉ

Dbswnstjd 2022. 10. 28. 19:00

๋ฌธ์ œ

https://www.acmicpc.net/problem/11723

 

11723๋ฒˆ: ์ง‘ํ•ฉ

์ฒซ์งธ ์ค„์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—ฐ์‚ฐ์˜ ์ˆ˜ M (1 ≤ M ≤ 3,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—ฐ์‚ฐ์ด ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net

ํ’€์ด

# ๋ฐฑ์ค€ 11723๋ฒˆ ๋ฌธ์ œ - ์ง‘ํ•ฉ
import sys
s = set()
n = int(input())
for i in range(n):
    tmp = sys.stdin.readline().strip().split()

    if len(tmp) == 1: # tmp ๊ธธ์ด๊ฐ€ 1
        if tmp[0] == 'all': # all
                s = set([i for i in range(1,21)])
        else: # empty
            s = set()
        continue

    command, target = tmp[0], tmp[1]    
    target = int(target)    

    if command == 'add':    
        s.add(target)   
    elif command == 'check':    
        print(1 if target in s else 0)  
    elif command == 'remove':   
        s.discard(target)   
    elif command == 'toggle':   
        if target in s: 
            s.dicard(target)    
        else:   
            s.add(target)

์ฒ˜์Œ์— ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์™€์„œ ๊ณ ๋ฏผํ•œ ๊ฒฐ๊ณผ tmp๊ฐ€ 1์ผ ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ„์–ด ์ฃผ๋ฉด ์‹œ๊ฐ„์ด ์ค„์–ด๋“ค๊ณ  sys๋กœ ์ž…๋ ฅ์„ ๋ฐ›๋„๋ก ํ•˜์˜€๋‹ค.