[Python] 알고리즘/Silver

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

-Becca- 2021. 11. 4. 17:16

[문제]

https://www.acmicpc.net/problem/9996

 

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

총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다.

www.acmicpc.net


알고리즘 분류는 문자열, 브루트포스 알고리즘, 정규 표현식 입니다.

[파일의 시작]*[파일의 끝]으로 이루어져 있고, '*'를 기준으로 나눠줍니다.

 

1
abcd*cdef
abcdef

이 예제의 경우, abcd와 cdef가 겹치므로 NE를 출력해야 합니다.


[코드]

import sys

N = int(sys.stdin.readline())
pt = sys.stdin.readline().rstrip().split("*")
front = len(pt[0])
back = len(pt[1])

for i in range(N):
    st = sys.stdin.readline().rstrip()
    st_front = st[:front]
    st = st[front:]
    st_back = st[len(st) - back :]

    if len(st) == 1:
        print("NE")
    elif st_front == pt[0] and st_back == pt[1]:
        print("DA")
    else:
        print("NE")