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

Junyoung Park·2022년 3월 2일
0

코딩테스트

목록 보기
156/631
post-thumbnail

1. 문제 설명

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

2. 문제 분석

패턴 매칭을 하는 문제. 전치와 후치를 비교할 때 전치 확인 후 중복 제거를 위해 비교할 문자열 s에서 전치를 제거할 필요가 있다. abc*cda에서 abcda는 매칭이 안 되는 문자열이기 때문이다.

3. 나의 풀이

import sys

n = int(sys.stdin.readline().rstrip())
pattern = sys.stdin.readline().rstrip()
pre, post = pattern.split('*')
pre_len = len(pre)
post_len = len(post)
for _ in range(n):
    s = sys.stdin.readline().rstrip()
    if len(s) >= pre_len and pre == s[:pre_len]:
        # 전치 매칭
        s = s[pre_len:]
        # 중복 제거
        if len(s) >= post_len and post == s[-post_len:]: print('DA')
        # 후치 모두 일치할 때 패턴 매칭 성공
        else: print('NE')
    else: print('NE')

profile
JUST DO IT

0개의 댓글