문제풀이/백준

문제 11723 - 집합 - 파이썬

JerryTheSWEngineer 2022. 10. 20. 14:52
반응형

 

개선해나갔던 사항을 아래와 같다.

# list, set 사용 구분
# 저장시 str, int 사용 구분
# input 대신 readline 사용
# pypy는 시간은 적지만 메모리를 많이 소모하여 python으로 변경

 

 

 

 

코드는 아래와 같다.

import sys
S = set()

cnt = int(sys.stdin.readline().strip())

for _ in range(cnt):
    given = sys.stdin.readline().strip().split()
    
    if given[0] == 'all':
        S = set([i for i in range(1, 21)])
        continue
    elif given[0] == 'empty':
        S = set()
        continue
    else:
        cmd, x = given[0], int(given[1])

    if cmd == 'add':
        S.add(x)
    elif cmd == 'remove':
        if x in S:
            S.discard(x)
    elif cmd == 'check':
        if x in S:
            print(1)
        else:
            print(0)
    elif cmd == 'toggle':
        if x in S:
            S.discard(x)
        else:
            S.add(x)

 

 

핵심은 아래와 같다.

 

자료 구조는 상황에 따라 선택하기. list, tuple, set, dict 등등... 

- 무분별하게 list 사용하지않기.

- pypy는 시간을 적지만 메모리를 많이 소모한다는 것....

 

 

반응형