반응형
https://www.acmicpc.net/problem/11723
import sys
input = sys.stdin.readline
S = set([])
m = int(input())
for _ in range(m):
line = input().split()
if len(line)==1:
if line[0] == 'all':
S = set([i for i in range(1,21)])
else:
S.clear()
else:
if line[0] == 'add':
S.add(int(line[1]))
elif line[0] == 'remove':
S.discard(int(line[1]))
elif line[0] == 'check':
if int(line[1]) in S:
print(1)
else:
print(0)
elif line[0] == 'toggle':
if int(line[1]) in S:
S.remove(int(line[1]))
else:
S.add(int(line[1]))
이 비슷한 문제들이 예전에도 있었죠. 해당 문제에서 조심해야 할 부분은 all과 empty의 경우 뒤에 따라오는 숫자가 없다는 점이니 입력의 길이를 체크해서 조건문을 하나 더 이용하면 되겠습니다. 나머지는 그냥 문자열 조건문의 반복이에요. 또한 입력이 꽤 많기 때문에 input() 대신 sys.stdin.readline()을 써주세요. input()으로 하니까 시간 초과가 나더라구요.
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]18679번 풀이 (0) | 2022.05.31 |
---|---|
[BOJ][Python]9625번 풀이 (0) | 2022.05.30 |
[BOJ][Python]9655번 풀이 (0) | 2022.05.29 |
[BOJ][Python]1676번 풀이 (0) | 2022.05.29 |