๐ ํ์ด์ฌ ์ผ๋ก ํ์ด
๐ ๋ฌธ์ ๋งํฌ :
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ ๋ฌธ์ ์ค๋ช :
์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด t์ p๊ฐ ์ฃผ์ด์ง ๋, t์์ p์ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ถ๋ถ๋ฌธ์์ด ์ค์์, ์ด ๋ถ๋ถ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์๊ฐ p๊ฐ ๋ํ๋ด๋ ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฒ์ด ๋์ค๋ ํ์๋ฅผ returnํ๋ ํจ์ solution์ ์์ฑํ์ธ์.
์๋ฅผ ๋ค์ด, t="3141592"์ด๊ณ p="271" ์ธ ๊ฒฝ์ฐ, t์ ๊ธธ์ด๊ฐ 3์ธ ๋ถ๋ถ ๋ฌธ์์ด์ 314, 141, 415, 159, 592์ ๋๋ค. ์ด ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์ ์ค 271๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์๋ 141, 159 2๊ฐ ์ ๋๋ค.
๐ ์ ํ ์ฌํญ
- 1 ≤ p์ ๊ธธ์ด ≤ 18
- p์ ๊ธธ์ด ≤ t์ ๊ธธ์ด ≤ 10,000
- t์ p๋ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๋ฉฐ, 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.
๐ ์ ์ถ๋ ฅ ์

์ถ์ธก ์์ฌ์ฝ๋)
1. ๋ฐ์ ๋ฌธ์์ด t๋ฅผ ๋จผ์ p์ ๊ธธ์ด๋ฐ๋ผ ๋จผ์ ์๋ผ ๋ฐฐ์ด๋ก ๋ง๋ ๋ค
2. ๊ฒฐ๊ณผ๊ฐ ์นด์ดํธ๋ฅผ ๋ฐ์ ๋ณ์ cnt๋ฅผ ํ๋ ์ ์ธํ๋ค.
3. ๊ทธ ๋ฐฐ์ด์ for๋ฌธ์ผ๋ก ๋๋ฆฐ๋ค.
4. t ์ธ๋ฑ์ค๋ง๋ค์ ๊ฐ๊ณผ p๋ฅผ ๋น๊ตํด์ผํ๋ ๋ฐ ๋๋ค ์ซ์ํํ์ "๋ฌธ์์ด"์ด๋ฏ๋ก ์ซ์๋ก ๋ณํํ๋ค.
5. ๋ฐฐ์ด์ ์ธ๋ฑ์ค ํ๋ ๊ฐ์ด p ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ฉด
- cnt๊ฐ์ ์ฌ๋ฆฐ๋ค
6. cnt๋ฅผ ๋ฐํํ๋ค.
+ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ถ๋ถ ๋ฌธ์์ด์ด๋ผ๋ ๊ฒ์ ์ฃผ์
์์ค์ฝ๋)
* 1์ฐจ) ์ฑ๊ณต : ๋ฉ๋ชจ๋ฆฌ: 10.3 MB, ์๊ฐ: 0.05 ms
def SmallSubstring(t, p):
cnt = 0
# len ๊ธธ์ด ๊ตฌํ๋ ์
unit = len(p)
# range(min, max, gap) gap์ ์ซ์๋ค ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๋๊ณ ๋ง๋ ๋ค.
# ํ์ค ํฌ๋ฌธ ์์ ์คํ๋ฌธ ๋๊ณ ๋ค์ for๋ฌธ์ ๋๋ค.
# ๋ฆฌ์คํธ ํํ์์๋ ๋ฆฌ์คํธ ์์ if๋ฌธ๊ณผ for์ ๋ฃ์ ์ ์์
b = [t[i:i+unit] for i in range(0,len(t))]
print(b)
for one in b:
if int(one) <= int(p) and len(one) == len(p):
cnt += 1
return cnt
๋ฆฌ๋ทฐ)
ํ์ค for๋ฌธ๊ณผ ๋ฆฌ์คํธ ํํ์์ ๋ฐฐ์ด ๋ฌธ์ . ํ์ด์ฌ์์ ๋ณ๋๋ก ๋ฌธ์์ด์ ์๋ฅด๋ ๋ฉ์๋๊ฐ ์๋์ง ์ฐพ์๋ณด๋ค๊ฐ ์๊ฒ๋ฌ๋ค.
๋ฆฌ์คํธ ํํ์์ด ํนํ ์ ๊ธฐํ๋ค. ๋ฆฌ์คํธ ์์ ๋ฐ๋ก for๋ฌธ์ด๋ if๋ฌธ์ ๋ฃ์ ์ ์๋ค๋!!!
ํ์คํ ๊ฐ๊ฒฐํ๊ธด ํ๋ฐ ๊ฐ๋ ์ฑ ์ ์ผ๋ก๋ ์์ง ์ต์ํ์ง ์์์ ๊ทธ๋ฐ๊ฐ ์ ๋์ ์๋ค์ด์จ๋ค ใ ใ
ํ๋ ์ถ๊ฐํ์๋ฉด b์ ๋ฃ์ด์ค for๋ฌธ ๋ฐฉ์์ผ๋ก ํ๋ฉด ๋ง์ง๋ง์ ๊ธธ์ด๊ฐ ๋ชจ์๋ ๊ฐ์ด ๋ค์ด๊ฐ๊ณ ๊ทธ ๊ฐ์ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ถ๋ถ ๋ฌธ์์ด์ด ์๋๋ฏ๋ก ์นด์ดํธ ๋์์์ ์ ์ธํ๋ค.
'Coding Test > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Programmers] ๋ฌธ์์ด ๋๋๊ธฐ (2) | 2023.01.31 |
|---|---|
| Programmers] ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2023.01.31 |
| Programmers] ์ ์์ผ๊ฐํ (0) | 2023.01.24 |
| Programmers] ๋ ๋งต๊ฒ (0) | 2023.01.17 |
| Programmers] ๊ฐ์ฅ ํฐ ์ (0) | 2023.01.16 |
