본문 바로가기
백준 알고리즘

파이썬) 백준 알고리즘 | 9996번 : 한국이 그리울 땐 서버에 접속하지

by 코딩새내기_ 2022. 7. 22.

 

n = int(input())
patten = input()
file = []
for i in range(n):
    file.append(input())
a = patten.split('*')
for i in range(n):
    if file[i][0:len(a[0])] == a[0] and file[i][len(file[i])-len(a[1]):len(file[i])] ==a[1]:
        if len(a[0]) <= len(file[i])-len(a[1]):
            print('DA')
        else:
            print('NE')
    else:
        print('NE')

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

 

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

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

www.acmicpc.net

 

풀이

입력된 patten을 *를 기준으로 나눠서 patten[0], patten[1]로 나눕니다.

그 이후 file에서 patten[0]과 file 앞부분, patten[1]과 file 뒷부분이 일치하는지 체크하고

일치하면 그 나머지 문자열의 길이가 겹치지 않는지 확인한다.

만약 모든 조건이 참이면 DA를 출력하고 나머지는 NE를 출력한다.

 

 

 

 

 

 

 

 

 

 

 

댓글