[백준/파이썬] 11723

2025. 2. 26.·백준

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

실버 5 집합

 

🌟 코드 구현 + 👀 풀이

[전체 코드]

import sys
input = sys.stdin.readline

N = int(input())
S = set()

for _ in range(N):
    instr = input().split()
    op = instr[0]
    if len(instr) > 1:
        x = int(instr[1])
    else:
        x = None
        
    if op == 'add':
        S.add(x)
    elif op == 'remove':
        S.discard(x)
    elif op == 'check':
        print(1 if x in S else 0)
    elif op == 'toggle':
        if x in S:
            S.discard(x)
        else:
            S.add(x)
    elif op == 'all':
        S.update(range(1, 21))
    elif op == 'empty':
        S.clear()

 

명령어 입력

instr = input().split()
op = instr[0]

input().split()을 사용하여 공백 기준으로 문자열 분리

instr[0]에는 명령어(문자열)가 저장

if len(instr) > 1:  # 두 번째 값(숫자)이 있는 경우 처리
    x = int(instr[1])  # 숫자를 정수로 변환
else:
    x = None  # 숫자가 없을 경우 (all, empty 명령어)

instr 리스트의 길이가 2 이상이면, 두 번째 값을 정수로 변환하여 x에 저장

x가 없는 경우는 None으로 처리

 

set의 함수를 이용한 명령어 처리

1️⃣ add x

S.add(x)를 사용해 x 추가

중복된 값은 자동으로 무시

2️⃣ remove x

S.discard(x)를 사용해 x 제거

🤔 S.remove(x)를 사용하면 되는 거 아닌가요?

🐢 S.remove(x)는 x가 집합에 없으면 KeyError를 발생시켜요. S.discard(x)의 경우 x가 존재하면 제거, 없으면 무시하기 때문에 오류가 발생하지 않아서 S.discard(x)를 사용하는 거예요!

3️⃣ check x

print(1 if x in S else 0)

in 연산자를 사용해 집합에서 특정 요소가 있는지 없는지 체크

있다면 True를 반환, 없다면 False를 반환

4️⃣ toggle x

위의 add(), discard(), in 활용

5️⃣ all

S.update(range(1, 21))

update(): 집합에 값을 여러 개 추가 

range(1, 21)을 사용하여 1~20의 숫자를 한꺼번에 추가

6️⃣ empty

S.clear()

기존 집합을 완전히 비우되 객체 유지

저작자표시 비영리 변경금지 (새창열림)

'백준' 카테고리의 다른 글

[백준/파이썬] 4659  (0) 2025.03.05
[백준/파이썬] 7568  (0) 2025.03.05
[백준/파이썬] 2110  (0) 2025.02.24
[백준/파이썬] 11401  (0) 2025.02.23
[백준/파이썬] 11444  (0) 2025.02.22
'백준' 카테고리의 다른 글
  • [백준/파이썬] 4659
  • [백준/파이썬] 7568
  • [백준/파이썬] 2110
  • [백준/파이썬] 11401
우는거북이
우는거북이
  • 우는거북이
    거북이는 울고 있다
    우는거북이
  • 전체
    오늘
    어제
    • 알아보기 (77) N
      • AI (4)
      • 언어 (16)
        • Python (15)
        • C언어 (1)
      • 알고리즘 (7)
      • 백준 (22)
      • 자료구조 (10)
      • 컴퓨터네트워크 (6)
      • 운영체제 (1)
      • 데이터통신 (11) N
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
우는거북이
[백준/파이썬] 11723
상단으로

티스토리툴바