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개의 댓글

Powered by GraphCDN, the GraphQL CDN