https://www.acmicpc.net/problem/9996
9996번: 한국이 그리울 땐 서버에 접속하지
총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다.
www.acmicpc.net
문제 풀이
- 패턴은 '*'을 기준으로 앞에와야 하는 문자열 + * + 뒤에와야 하는 문자열을 입력받는다.
- 앞에와야 하는 문자열은 ^으로, 뒤에와야 하는 문자열은 $으로 패턴을 만든다.
- 예시) a*d 일때 ad도 매치된다.
import re
tc = int(input())
pattern = list(map(str, input().split('*')))
str_pattern = '^' + pattern[0] + '.*' + pattern[1] + '$'
# p = re.compile("^{0}.*{1}$".format(pattern[0], pattern[1]))
p = re.compile(str_pattern)
for _ in range(tc):
word = input()
m = p.search(word)
if m:
print("DA")
else:
print("NE")
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 11501번 주식 (0) | 2023.04.08 |
---|---|
[백준] 1541번 잃어버린 괄호 (0) | 2023.04.08 |
[백준] 1543번 문서검색 (0) | 2023.04.07 |
[백준] 15904번 UCPC는 무엇의 약자일까? (0) | 2023.04.07 |
[백준] 17413번 단어 뒤집기2 (0) | 2023.04.07 |