π‘ 쑰건
- μ μμ΄λ νκ΅μ λκ³ μ¨ μλ²μ μ μν΄μ λλ ν 리 μμ λ€μ΄μλ νμΌ μ΄λ¦μ 보면μ 그리μμ μκΈ°λ‘ νλ€.
λ§€μΌ λ°€, νμΌ μ΄λ¦μ 보면μ νμΌ νλνλμ μ½ν μ¬μ°μ κΈ°μ΅νλ©΄μ νκ΅μ μκ°νκ³ μμλ€.
νκ΅μ μλ μλ²κ° λ§κ°μ‘κ³ , κ·Έ κ²°κ³Ό νΉμ ν¨ν΄κ³Ό μΌμΉνλ νμΌ μ΄λ¦μ μ μ ν μΆλ ₯νμ§ λͺ»νλ λ²κ·Έκ° μκ²Όλ€.
- ν¨ν΄μ μνλ²³ μλ¬Έμ μ¬λ¬ κ°μ λ³ν(*) νλλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄μ΄λ€.
νμΌ μ΄λ¦μ΄ ν¨ν΄μ μΌμΉνλ €λ©΄, ν¨ν΄μ μλ λ³νλ₯Ό μνλ²³ μλ¬Έμλ‘ μ΄λ£¨μ΄μ§ μμμ λ¬Έμμ΄λ‘ λ³νν΄ νμΌ μ΄λ¦κ³Ό κ°κ² λ§λ€ μ μμ΄μΌ νλ€.
- λ³νλ λΉ λ¬Έμμ΄λ‘ λ°κΏ μλ μλ€.
μλ₯Ό λ€μ΄, "abcd", "ad", "anestonestod"λ λͺ¨λ ν¨ν΄ "a*d"μ μΌμΉνλ€. νμ§λ§, "bcd"λ μΌμΉνμ§ μλλ€.
- ν¨ν΄κ³Ό νμΌ μ΄λ¦μ΄ λͺ¨λ μ£Όμ΄μ‘μ λ, κ°κ°μ νμΌ μ΄λ¦μ΄ ν¨ν΄κ³Ό μΌμΉνλμ§ μλμ§λ₯Ό ꡬνλ λ¬Έμ
- 첫째 μ€μ νμΌμ κ°μ Nμ΄ μ£Όμ΄μ§λ€. (1 β€ N β€ 100)
λ¬Έμμ΄μ κΈΈμ΄λ 100μ λμ§ μμΌλ©°, λ³νλ λ¬Έμμ΄μ μμκ³Ό λμ μμ§ μλ€.
λ€μ Nκ° μ€μλ νμΌ μ΄λ¦μ΄ μ£Όμ΄μ§λ€.
- μ΄ Nκ°μ μ€μ κ±Έμ³μ, μ
λ ₯μΌλ‘ μ£Όμ΄μ§ iλ²μ§Έ νμΌ μ΄λ¦μ΄ ν¨ν΄κ³Ό μΌμΉνλ©΄ "DA", μΌμΉνμ§ μμΌλ©΄ "NE"λ₯Ό μΆλ ₯νλ€.
- ꡬν, λ¬Έμμ΄, λΈλ£¨νΈν¬μ€ μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin
n = int(stdin.readline())
pattern = stdin.readline().rstrip()
def match_tf(p, s):
p = p.split('*')
start_m, end_m = p[0], p[1]
if s[:len(start_m)] == start_m and s[-len(end_m):] == end_m and len(''.join(p)) <= len(s):
return True
return False
for _ in range(n):
string = stdin.readline().rstrip()
if match_tf(pattern, string):
print('DA')
else:
print('NE')
π μμ λ° μ€νκ²°κ³Ό
μμ
6
h*n
huhovdjestvarnomozedocisvastan
honijezakon
atila
je
bio
hun
μ€νκ²°κ³Ό
DA
DA
NE
NE
NE
DA
β¨οΈ λ¬Έμ νμ΄
- λ¬Έμ μμ 보면 ν¨ν΄μ μνλ²³ μλ¬Έμμ λ³ν ν κ°λ‘ μ΄λ£¨μ΄μ Έμλ€λ μ λ³΄κ° μλ€.
ν¨ν΄μ *λ₯Ό κΈ°μ€μΌλ‘ν΄μ split ν΄μ£Όκ³ , ν¨ν΄ μμκ³Ό ν¨ν΄ λμΌλ‘ ꡬλΆνλ€.
- λλ ν¨ν΄μ μμκ³Ό λμ λΉκ΅νμ¬ μλμ ν΄λΉλλμ§ νμΈνλ€.
- 1.μ
λ ₯λ°μ λ¬Έμμ΄μ μμ ν¨ν΄μ κΈΈμ΄λ§νΌ μλΌμ μμ ν¨ν΄κ³Ό κ°μμ§ νμΈνλ€.
- 2.μ
λ ₯λ°μ λ¬Έμμ΄μ λ ν¨ν΄κΉμ§ μλΌμ λλ λ ν¨ν΄κ³Ό κ°μμ§ νμΈνλ€.
- 3.ν¨ν΄μ μλ―Ένλ *μ μ μΈν λ¬Έμμ΄μ κΈΈμ΄κ° μ
λ ₯ λ°μ λ¬Έμμ΄μ κΈΈμ΄λ³΄λ€ μκ±°λ κ°μμ§ νμΈνλ€.
- μ μΈκ°μ§ 쑰건μ ν΄λΉλμ§ μλ κ²½μ°, match_tf ν¨μμμ False λ₯Ό return νλ€.
- match_tf κ° False μΌ κ²½μ°, 'DA' μΆλ ₯
match_tf κ° Ture μΌ κ²½μ°, 'NE' μΆλ ₯