문제

5명의 요원 중 FBI 요원을 찾는 프로그램을 작성하시오.

FBI요원은 요원의 첩보원명에 FBI가 들어있다. 

입력

5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다.

출력

첫째 줄에 FBI 요원을 출력한다. 이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다. 만약 FBI 요원이 없다면 "HE GOT AWAY!"를 출력한다.

예제 입력 1 복사

N-FBI1
9A-USKOK
I-NTERPOL
G-MI6
RF-KGB1

예제 출력 1 복사

1

예제 입력 2 복사

N321-CIA
F3-B12I
F-BI-12
OVO-JE-CIA
KRIJUMCAR1

예제 출력 2 복사

HE GOT AWAY!

예제 입력 3 복사

47-FBI
BOND-007
RF-FBI18
MARICA-13
13A-FBILL

예제 출력 3 복사

1 3 5

 

문제풀이

대문자 or 숫자 or - and FBI and 대문자 or 숫자 or 찾기

import re

index = 0
result = []
while True :
    try :
        index += 1
        input_text = input() 
        #대문자 or 숫자 or - and FBI and 대문자 or 숫자 or 찾기
        regex = re.compile("[A-Z0-9\-]*FBI[A-Z0-9\-]*")
        re_text = regex.findall(input_text)
        
        if len(re_text) != 0 :
            result.append(index)
    except :
        break
if len(result) != 0 :
    for i in result :
        print(i)
else : 
    print("HE GOT AWAY!")
[백준 | 브론즈2] 2857: FBI(정규식-특정단어의 앞뒤 단어 찾기)