โ 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 ํค์๋ ์ฌ์ฉ
โ 5637 ๊ฐ์ฅ ๊ธด ๋จ์ด โ
import re,sys
input=sys.stdin.readline
c=''
while True:
s=input().strip().split(' ')
for w in s:
w=re.sub(r'[^a-zA-Z-]','',w)
if len(w)>len(c):c=w
if'E-N-D'in s:break
print(c.lower())
๐ฆ re์ sub module์ ํ์ฉํด [^a-zA-Z-]์์, ์ฆ a-z๋ A-Z๋ ํ์ดํ(-)์ด ์๋ ๋ฌธ์๋ค์ ๋ชจ๋ ์ฐพ์ ''๋ก ๋ฐ๊พธ๊ธฐ, ์ฆ ํด๋น ๋ฌธ์๋ค์ ์์ ๊ณ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค๋ ๋ป.
'BOJ > ๐ฅ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
โ Greedy Intermediate II - 11 Solvedโ (0) | 2023.08.20 |
---|---|
โ Combinatorics Upper-Intermediate I - 4 Solvedโ (0) | 2023.08.16 |
โ Set/Map Upper-Intermediate I - 3 Solvedโ (0) | 2023.08.11 |
โ Divide & Conquer Upper-Intermediate I - 9 Solvedโ (0) | 2023.03.20 |
โ Number Theory Upper-Intermediate I - 9 Solvedโ (0) | 2023.02.28 |
๋๊ธ