성장일기

[python] 백준 11723 - 집합 본문

알고리즘 문제

[python] 백준 11723 - 집합

김몽몽 2021. 12. 25. 20:21

전에 풀었던 큐, 스택 문제랑 비슷하다.

그래서 비교적 쉽게 풀었다

  • add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.
  • remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.
  • check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)
  • toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)
  • all: S를 {1, 2, ..., 20} 으로 바꾼다.
  • empty: S를 공집합으로 바꾼다. 
import sys
n=int(sys.stdin.readline().rstrip())
li=[]
for i in range(n):
    a=sys.stdin.readline().rstrip().split()
    if a[0]=='add':
        if int(int(a[1])) not in li:
            li.append(int(a[1]))
        else:
            pass
    elif a[0]=='remove':
        if int(a[1]) in li:
            li.remove(int(a[1]))
        else:
            pass
    elif a[0]=='check':
        if int(a[1]) in li:
            print(1)
        else:
            print(0)
    elif a[0]=='toggle':
        if int(a[1]) in li:
            li.remove(int(a[1]))
        else:
            li.append(int(a[1]))
    elif a[0]=='all':
        li=list(range(1,21))
    elif a[0]=='empty':
        li=[]

 

'알고리즘 문제' 카테고리의 다른 글

실버 3 🎉  (0) 2021.12.26
[python] 백준 11866 - 요세푸스 문제 0  (0) 2021.12.26
[python] 백준 9012 - 괄호  (0) 2021.12.24
[python] 백준 1927 - 최소 힙  (0) 2021.12.23
백준 11279 - 최대 힙  (0) 2021.12.23