이번 문제는 주어진 패턴에서 앞의 문자열과 뒤의 문자열을 따로 저장하여 입력되는 문자열에 다음 앞의 문자열과 뒤의 문자열이 모두 포함되어 있을 때에 DA를 출력하고 아닐 경우 NE를 출력하도록 하여 해결하였다. 계속해서 오답처리가 되어서 테스트 케이스를 찾아보던 중에
abcd*cdef
abcdef
와 같이 앞의 문자열과 뒤의 문자열에서 겹치는 부분이 있으면 NE를 출력해야 된다는 사실을 알게 되었고 문제를 해결할 수 있었다. 이 부분은 입력받은 문자열의 길이가 앞의 문자열의 길이와 뒤의 문자열의 길이의 합보다 작을 경우 NE를 출력하도록 하였다.
n=int(input())
pattern=str(input())
front=''
back=''
idx=0
for i in range(len(pattern)):
if pattern[i]=='*':
idx=i+1
break
front+=pattern[i]
for i in range(idx, len(pattern)):
back+=pattern[i]
for i in range(n):
file=str(input())
if len(file)<len(front)+len(back):
print('NE')
elif file[:len(front)]==front and file[-len(back):]==back:
print('DA')
else:
print('NE')