β μ κ·ννμ(Regular Expression)μ μ΄λ»κ² μΈ μ μλ μ§ ν¨μλ₯Ό μ μ ν μ¬μ© / μ κ·ννμ λ¬Έλ²μ μλ©΄ λλ€
β 9342 μΌμ체 β
import re,sys
input=sys.stdin.readline
for _ in range(int(input().strip())):
chromosome = input().strip()
if re.match('^[ABCDEF]?A+F+C+[A,B,C,D,E,F]?$',chromosome): print('Infected!')
else: print('Good')
π¦ μ κ·ννμ λ¬Έλ² μ°¨λ‘λλ‘ μμ±νμλ©΄!
β λ¬Έμμ΄μ {A, B, C, D, E, F} μ€ 0κ° λλ 1κ°λ‘ μμν΄μΌ νλ€ → ^[ABCDEF]?
β‘ κ·Έ λ€μμλ Aκ° νλ λλ κ·Έ μ΄μ μμ΄μΌ νλ€ → A+
β’ κ·Έ λ€μμλ Fκ° νλ λλ κ·Έ μ΄μ μμ΄μΌ νλ€ → F+
β£ κ·Έ λ€μμλ Cκ° νλ λλ κ·Έ μ΄μ μμ΄μΌ νλ€ → C+
β€ κ·Έ λ€μμλ {A, B, C, D, E, F}μ€ 0κ° λλ 1κ°κ° μμΌλ©°, λ μ΄μμ λ¬Έμλ μμ΄μΌ νλ€ → [ABCDEF]?$
→ μμ: ^ / λ: $ / μ¬λ¬ κ° μ€ ν κ° [] / 0κ° λλ 1κ°: ? / 1κ° μ΄μ: +
π¦ re.match()λ‘ κ²μ¬ μ¬λΆ νμΈ!
β 9996 νκ΅μ΄ κ·Έλ¦¬μΈ λ μλ²μ μ μνμ§ β
import re,sys
input=sys.stdin.readline
N=int(input())
before_exp = input().strip()
exp1='^'+before_exp.replace('*','[a-z]*')+'$'
exp2='^'+before_exp.replace('*',' ')+'$'
for _ in range(N):
name = input().strip()
if re.match(exp1,name) or re.match(exp2,name): print('DA')
else: print('NE')
π¦ μμνκ³ λλλ€λ ^μ $νμ νμ
β μνλ²³ μλ¬Έμ 0κ° μ΄μ → [a-z]*
β‘ λΉ λ¬Έμμ΄ → ' '
→ 0κ° μ΄μ: *
π¦ λ 쑰건μ€μ 1κ°λ§ μΌμΉνλ©΄ λλ―λ‘ or ν€μλ μ¬μ©
'BOJ > π₯' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
β Greedy Intermediate II - 4 Solvedβ (0) | 2023.08.20 |
---|---|
β Combinatorics Upper-Intermediate I - 4 Solvedβ (0) | 2023.08.16 |
β Set/Map Upper-Intermediate I - 2 Solvedβ (0) | 2023.08.11 |
β DAC μ€μκΈ1 - 3λ¬Έμ ()β (0) | 2023.03.20 |
β Number Theory Upper-Intermediate I - 8 Solvedβ (0) | 2023.02.28 |
λκΈ