์นดํ
๊ณ ๋ฆฌ ์์
โ [BOJ][Python] 9996 ํ๊ตญ์ด ๊ทธ๋ฆฌ์ธ ๋ ์๋ฒ์ ์ ์ํ์ง โ
jihuSunbae
2024. 7. 23. 16:33
๐ซก Overview
์ฒด๊ฐ ๋์ด๋: โ โ โโโ
์์์๊ฐ:
๋ฌธ์ ๋ ๋ฒจ: ์ค๋ฒ3 / ๋ฌธ์ ์ ํ: ์ ๊ท์, ๋ฌธ์์ด
ํ์ด ์ํ: ๋ต์์ฐธ๊ณ
์ถํ: ๊ฐ๋จ๋ณต์ต
๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/9996
์๊ตฌ ์ฌํญ ๋ถ์
- ์ฃ์ง ์ผ์ด์ค์ ์ ์ํ์!
2
ad*da
adda
ada
#์ ๋ต
DA
NE
1
ab*cd
abcdef
# ์ ๋ต
NE
๋์ ์ฝ๋
N = int(input())
pattern = input()
left, right = pattern.split('*')
ans = []
for _ in range(N):
input_ = input()
if len(input_) >= len(pattern)-1 and input_.startswith(left) and input_.endswith(right):
ans.append("DA")
else:
ans.append("NE")
print("\n".join(ans))
+) ์ ๊ท์์ผ๋ก ๋ค์ ํ์ด๋ดค๋ค.
- first trial: ์ ๊ท์ ์ธ ๋ ์ฒ์(^)๊ณผ ๋($)์ ํํ ์ํด์ ํ๋ ธ๋ค.
# ์ ๊ท์ ์ฌ์ฉ
import re
N = int(input())
pattern = input()
left, right = pattern.split('*')
regex = re.compile('^'+left+".*"+right+'$')
r = re.compile(regex)
ans = []
for _ in range(N):
input_ = input()
if r.match(input_) is not None:
ans.append("DA")
else: ans.append("NE")
print("\n".join(ans))
๋๋ ์
์์ธ ์ฒ๋ฆฌ ๋ค์ ํ๊ธฐ, ์ ๊ท์์ ๋ค์ ๊ณต๋ถํด์ผ๊ฒ ๋ค!!
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
#๋ฐฑ์ค #์ฝ๋ฉํ ์คํธ #์๊ณ ๋ฆฌ์ฆ #python #ํ์ด์ฌ