반응형
백준 BAEKJOON 31881번 K512에 바이러스 퍼뜨리기 [PYTHON/파이썬]
<문제 출처> (BRONZE Ⅱ)
https://www.acmicpc.net/problem/31881
<풀이>
input 대신 sys.stdin.readline.rstrip()을 사용해야 시간 초과가 나지 않는다.
바이러스 감염 여부를 체크하는 리스트를 만든 후
결과값을 N과 같게 설정했다.
query의 길이가 1보다 크면
case와 x에 0번째 인덱스, 1번째 인덱스를 나눠 저장하였고
그렇지 않다면 case 값만 저장했다.
case가 1일 경우 승형이가 감염 시키는 행위이니
바이러스 감염 여부를 체크한 뒤 결과값에 -1을 해주고
case가 2일 경우 근수가 치료하니
바이러스 감염 여부를 체크한 뒤 결과값에 +1을 해주었다.
case가 3일 경우
결과값 result를 출력했다.
<코드>
import sys
input = sys.stdin.readline
N, Q = map(int, input().rstrip().split())
virus_computer = [False] * (N + 1)
result = N
for _ in range(Q):
query = input().split()
if len(query) > 1:
case, x = int(query[0]), int(query[1])
else:
case = int(query[0])
if case == 1:
if not virus_computer[x]:
result -= 1
virus_computer[x] = True
elif case == 2:
if virus_computer[x]:
result += 1
virus_computer[x] = False
elif case == 3:
print(result)
반응형
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 31859번 SMUPC NAME [PYTHON/파이썬] (0) | 2024.07.03 |
---|---|
백준 BAEKJOON 31844번 창고지기 [PYTHON/파이썬] (0) | 2024.07.02 |
백준 BAEKJOON 31880번 K512컵 개최! [PYTHON/파이썬] (0) | 2024.06.28 |
백준 BAEKJOON 31868번 수박 게임 [PYTHON/파이썬] (1) | 2024.06.15 |
백준 BAEKJOON 31922번 이 대회는 이제 제 겁니다 [PYTHON/파이썬] (0) | 2024.06.11 |