-
[λ°±μ€] 9996 νκ΅μ΄ κ·Έλ¦¬μΈ λ μλ²μ μ μνμ§ with PythonPS 2022. 6. 29. 21:27728x90λ°μν
π BOJ 9996 νκ΅μ΄ κ·Έλ¦¬μΈ λ μλ²μ μ μνμ§
π‘ 쑰건
- μ μμ΄λ νκ΅μ λκ³ μ¨ μλ²μ μ μν΄μ λλ ν 리 μμ λ€μ΄μλ νμΌ μ΄λ¦μ 보면μ 그리μμ μκΈ°λ‘ νλ€.
λ§€μΌ λ°€, νμΌ μ΄λ¦μ 보면μ νμΌ νλνλμ μ½ν μ¬μ°μ κΈ°μ΅νλ©΄μ νκ΅μ μκ°νκ³ μμλ€.
νκ΅μ μλ μλ²κ° λ§κ°μ‘κ³ , κ·Έ κ²°κ³Ό νΉμ ν¨ν΄κ³Ό μΌμΉνλ νμΌ μ΄λ¦μ μ μ ν μΆλ ₯νμ§ λͺ»νλ λ²κ·Έκ° μκ²Όλ€.
- ν¨ν΄μ μνλ²³ μλ¬Έμ μ¬λ¬ κ°μ λ³ν(*) νλλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄μ΄λ€.
νμΌ μ΄λ¦μ΄ ν¨ν΄μ μΌμΉνλ €λ©΄, ν¨ν΄μ μλ λ³νλ₯Ό μνλ²³ μλ¬Έμλ‘ μ΄λ£¨μ΄μ§ μμμ λ¬Έμμ΄λ‘ λ³νν΄ νμΌ μ΄λ¦κ³Ό κ°κ² λ§λ€ μ μμ΄μΌ νλ€.
- λ³νλ λΉ λ¬Έμμ΄λ‘ λ°κΏ μλ μλ€.
μλ₯Ό λ€μ΄, "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' μΆλ ₯
λ°μν'PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 12920 νλ²ν λ°°λ 2 with Python (0) 2022.07.01 [λ°±μ€] 14890 κ²½μ¬λ‘ with Python (0) 2022.06.29 [λ°±μ€] 6236 μ©λ κ΄λ¦¬ with Python (0) 2022.06.17 [λ°±μ€] 2225 ν©λΆν΄ with Python (0) 2022.06.17 [λ°±μ€] 1915 κ°μ₯ ν° μ μ¬κ°ν with Python (0) 2022.06.17 - μ μμ΄λ νκ΅μ λκ³ μ¨ μλ²μ μ μν΄μ λλ ν 리 μμ λ€μ΄μλ νμΌ μ΄λ¦μ 보면μ 그리μμ μκΈ°λ‘ νλ€.