boj 11723 집합 (실버5)

김준오·2021년 8월 25일
0

알고리즘

목록 보기
38/91
post-thumbnail

문제

boj 11723 집합

백준 solved ac 클래스3 에센셜을 따기 위해 거기 클래스에 남아있는 문제들을 푸려다보니 좀 낮은 난이도의 실버5짜리 문제를 풀게 되었다.
실버5답게 그냥 별다른 알고리즘 쓸거없이 문제읽고 바로 하라는대로 코딩하면 되는 쉬운문제다.

풀이

import sys
input = sys.stdin.readline

n = int(input())
arr = set()
set_all = {i for i in range(1,21)}

for _ in range(n):
  inputt = input().split()
  
  oper = inputt[0]
  if len(inputt) == 2:
    num = int(inputt[1])
  
  if oper == 'add':
    arr.add(num)

  elif oper == 'remove':
    arr.discard(num)

  elif oper == 'check':
    if num in arr:
      print(1)

    else :
      print(0)

  elif oper == 'toggle':
    if num in arr:
      arr.remove(num)

    else :
      arr.add(num)

  elif oper == 'all':
    arr = set_all

  elif oper == 'empty':
    arr = set() 

공부한것

set 에서 추가하는건
arr.add(num)

remove vs discard

둘다 특정원소를 삭제하는것이다

차이점은

arr.remove(num)은 num이 없을경우 에러 출력
arr.discard(num)은 num이 없어도 문제없이 넘어감

이런 차이점이 있다.

끝!

profile
jooooon

0개의 댓글