BOJ/๐Ÿฅˆ

โ˜…Regular Expression Upper + Intermediate - 3 Solvedโ˜…

metamong 2023. 8. 14.

โ˜… 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๋‚˜ ํ•˜์ดํ”ˆ(-)์ด ์•„๋‹Œ ๋ฌธ์ž๋“ค์„ ๋ชจ๋‘ ์ฐพ์•„ ''๋กœ ๋ฐ”๊พธ๊ธฐ, ์ฆ‰ ํ•ด๋‹น ๋ฌธ์ž๋“ค์„ ์—†์• ๊ณ  ๊ธธ์ด๋ฅผ ๊ตฌํ•œ๋‹ค๋Š” ๋œป.


 

 

 

 

 

 

 

 

 

 

๋Œ“๊ธ€