메모/알고리즘

[백준] Python - 염색체

Floodnut 2021. 9. 9. 20:44
 

9342번: 염색체

상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙

www.acmicpc.net

 

문자열 처리 문제 '염색체' 이다. 

 

영문자 대문자로 이루어진 문자열 중 특정 문자를 포함한다면 Infected!, 아니라면 Good을 출력한다.

잠깐 고민하고 바로 정규표현식을 활용하기로 했다.

언어는 파이썬 3.8 을 사용했고 해결한 코드는 아래와 같다.

더보기
#https://github.com/CASPER-REPSAC/algorithm-stack/blob/gsniper777/baekjoon/9342

import re, sys

regex = re.compile('^[A-F]{0,1}A+F+C+[A-F]{0,1}$') #문자열 검증용 정규표현식
wordCounts = int(input()) #몇 개의 문자열을 검증할지?
words = []

for repeat in range(wordCounts): #문자열 입력을 리스트에 순차적으로 저장
    a = sys.stdin.readline().strip()
    words.append(a)

for isInfected in words: #리스트에서 하나씩 문자열을 꺼내 정규표현식으로 검증
    isMatch = regex.match(isInfected)
    if(isMatch != None):
        print('Infected!')
    else:
        print('Good')