Python/algorithm

한국이 그리울 땐 서버에 접속하지

baecode 2025. 4. 9. 11:44
반응형
정규식 문제 - 파일 이름 매칭

이번 문제는 간단한 정규식 패턴 매칭 문제였습니다.

한국이 그리울 땐 서버에 접속하지[9996]

📋 문제 설명

첫째 줄에 파일의 개수 N이 주어진다. (1 ≤ N ≤ 100)
둘째 줄에는 패턴이 주어진다. 패턴은 알파벳 소문자와 별표(*) 한 개로 이루어져 있으며, 별표는 문자열의 시작과 끝에 있지 않다.
다음 N개의 줄에는 각 파일 이름이 주어지고, 패턴과 일치하는지 판별해야 한다.

별표(*)는 임의의 문자열(길이 0 이상)을 의미하며, 정규식의 .*와 동일하다.
패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다.

참고: "DA"는 YES, "NE"는 NO를 의미한다.

🧪 입력 예시

3
a*d
abcd
anestonestod
facebook

✅ 출력 예시

DA
DA
NE

💻 풀이 코드

import sys
import re

n = int(input())
start, end = input().split("*")
lines = sys.stdin.read().splitlines()

pattern = rf"^{start}.*{end}$"

for x in range(n):
    if re.match(pattern, lines[x]):
        print("DA")
    else:
        print("NE")

💻 정규표현식 re


import re

start_pattern = r"^abc"   # 'abc'로 시작
end_pattern = r"ddc$"     # 'ddc'로 끝남
both = r"^abc.*ddc$"      # 'abc'로 시작하고 'ddc'로 끝남 (중간엔 뭐든 올 수 있음)


.* 는 아무 문자든 0개 이상 이라는 뜻이고 위에서는 abc,ddc 사이에 어떤내용이든 가능하다로 표현됩니다

반응형

'Python > algorithm' 카테고리의 다른 글

백준 병든 나이트  (0) 2025.04.13
측정할 수 없는 최소 무게  (0) 2025.04.10
쇠막대기 자르기  (0) 2025.04.08
TIL - 2025.03.28  (0) 2025.04.07
슬라이딩 윈도우  (0) 2025.04.04