문제
https://www.acmicpc.net/problem/9342
설계
- 조건들을 순서대로 정의한다.
- 첫번째 알파벳이 A, F, C가 아닌 경우 제거한다.
N = int(input())
arr = [list(input()) for _ in range(N)]
index = ['A', 'B', 'C', 'D', 'E', 'F']
condition = ['A', 'F', 'C']
for i in range(N):
cnt = 0 # 규칙을 몇번 통과했는지 count
if arr[i][0] in index: # 첫번째 규칙 확인
cnt += 1
if arr[i][0] not in condition: # 첫번째 문자열이 A, F, C가 아닌경우 제거한다.
arr[i].pop(0)
for j in range(3):
if arr[i][0] == condition[j]: # 2, 3, 4번째 규칙 확인
cnt += 1
while len(arr[i]) > 0 and arr[i][0] == condition[j]: # 알파벳이 여러개인 경우 제거
arr[i].pop(0)
if cnt == 4 and len(arr[i]) == 0: # 마지막 규칙 확인
print('Infected!')
elif cnt == 4 and len(arr[i]) == 1 and arr[i] in index:
print('Infected!')
else:
print('Good')
'PS (Problem Solving) > Baekjoon' 카테고리의 다른 글
[백준] 1303. 전쟁-전투 - 파이썬 (0) | 2023.01.05 |
---|---|
[백준] 1758. 알바생 강호 - 파이썬 (0) | 2023.01.04 |
[백준] 6603. 로또 (1) | 2022.12.17 |
[백준] 10798. 세로읽기 (0) | 2022.12.16 |
[백준] 1417. 국회의원 선거 (0) | 2022.12.15 |