패턴은 알파벳 소문자와 별표(아스키값 42) 한 개로 이루어져 있다.
문자열의 길이는 100을 넘지 않으며, 별표는 문자열의 시작과 끝에 있지 않다.
-> 별표를 기준으로 접두사와 접미사를 구하기
유의할 테스트케이스
1
a*d
a
#include <iostream>
#include <string>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int N;
cin >> N;
string pattern;
cin >> pattern;
string prefix, suffix;
for (int i = 0; i < pattern.length(); ++i) {
if (pattern[i] == '*') {
prefix = pattern.substr(0, i);
suffix = pattern.substr(i+1);
}
}
for (int i = 0; i < N; ++i) {
string input;
cin >> input;
if (input.length() < prefix.length() + suffix.length()) {
cout << "NE\n";
continue;
}
bool flag = true;
if (input.substr(0, prefix.length()) != prefix) {
flag = false;
}
else if (input.substr(input.length() - suffix.length()) != suffix) {
flag = false;
}
if (flag) cout << "DA\n";
else cout << "NE\n";
}
return 0;
}
N = int(input())
pattern = input()
substrings = pattern.split('*')
prefix = substrings[0]
suffix = substrings[1]
for i in range(0, N):
inputStr = input()
if(len(inputStr) < len(prefix) + len(suffix)):
print("NE")
continue
flag = True
if(inputStr[0:len(prefix)] != prefix):
flag = False
if(inputStr[-len(suffix):] != suffix):
flag = False
if(flag):
print("DA")
else:
print("NE")