알고리즘

[백준 알고리즘] 11723번 집합. 파이썬(python)

삶은겨란 2022. 7. 14. 19:07

입력형식이 매번 똑같지 않다.

whitespace 기준으로 문자열을 나누어 저장할 때,

하나의 변수에 저장하면 리스트형식으로 저장되며 whitespace의 개수가 상관없다.

변수를 여러개로 설정하면 변수의 개수만큼의 입력만 받을 수 있다.

a,b=input().split()

s=input().split()

 

확인할 값을 int형으로 바꿔줘야 메모리 초과가 안 난다.

import sys
input=sys.stdin.readline
n=int(input())
s=set()
for _ in range(n):
    
    word=input().split()
    # ['remove', '1']
    # ['empty']
    
    if len(word)==1: # 한단어만 들어올 경우
        cons=word[0]
    else: # 두단어가 들어올 경우
        cons,num=word[0],int(word[1])

    if cons=='add':
        s.add(num)

    elif cons=='remove':
        s.discard(num)
    
    elif cons=='check':
        if num in s:
            print(1)
        else:
            print(0)

    elif cons=='toggle':
        if num in s:
            s.discard(num)
        else:
            s.add(num)

    elif cons=='all':
        s=set([i for i in range(1,21)])
        
    elif cons=='empty': # 'empty'
        s=set()

 

제출할 때 pypy3는 빠르고 python은 메모리가 크다