카테고리 없음

[Python] Set 자료형

왕초보코딩러 2024. 9. 20. 10:16
728x90

https://wikidocs.net/1015

 

02-6 집합 자료형

집합(set)은 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. [TOC] ## 집합 자료형은 어떻게 만들까? 집합 자료형은 다음과 같이 set 키워드를 사용해 …

wikidocs.net

 

# 순서가 없어서 인덱싱 기능을 이용하려면 리스트나 튜플로 변환해야 함
# 문자열도 가능
# 교집합 & 합집합 | 차집합 -
# 원소 하나 추가 add
# 여러 원소 추가 update
# 특정값 제거 remove
# 기존 세트 비우기 clear

 

 

set를 이용하여 문제 풀기

 

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

 


import sys
input = sys.stdin.readline

S = set()

m = int(input())
for _ in range(m):
    lists = input().split()
    
    if len(lists) == 1:
        if lists[0] == 'all':
            S = set([i for i in range(1, 21)])
        elif lists[0] == 'empty':
            S.clear()
    else:
        x = int(lists[1])
        if lists[0] == 'add':
            S.add(x)
        elif lists[0] == 'remove':
            if x in S: # 없는 데 제거하려고 하면 키 에러
                S.remove(x)
        elif lists[0] == 'check':
            if x in S:
                print(1)
            else:
                print(0)
        elif lists[0] == 'toggle':
            if x in S:
                S.remove(x)
            else:
                S.add(x)

 

+

사실 x가 1부터 20 사이이기 때문에

21개짜리(0부터 20까지)리스트를 만들어서 사용해도 됐습니다..