Tags
- ๋ฐฑํธ๋ํน
- BFS
- ๋ฌธ์์ด
- BOJ
- Java
- ๋๋น ์ฐ์ ํ์
- ๊ทธ๋ํ ์ด๋ก
- ์๋ฎฌ๋ ์ด์
- LV2
- Dynamic Programming
- ์๋ฃ๊ตฌ์กฐ
- ๊ทธ๋ํ ํ์
- Study
- Brute Force Algorithm
- dfs
- CodingTest
- Python
- ์ ๋ ฌ
- ๊ตฌํ
- ๊น์ด ์ฐ์ ํ์
- greedy
- queue
- ์ํ
- stack
- ์ ์๋ก
- sort
- PGM
- SpringBoot
- DP
- ๊ต์ฌ
Archives
๊ธฐ๋ก๋ฐฉ
Lv.2 : ์คํฌํธ๋ฆฌ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ ๋ต ์คํฌํธ๋ฆฌ์ ์ ์ ๋ค์ ์คํฌ ํธ๋ฆฌ๊ฐ ์ ๋ ฅ๋๋ค.
- ์ ๋ต ์คํฌํธ๋ฆฌ์ ๋น๊ตํด์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฐ์ ์ ์๋ ์ ์ ๋ค์ ์คํฌ ํธ๋ฆฌ ์๋ฅผ ๋ฆฌํดํ๋ค.
๐ธ ์ฝ๋ ๐ธ
def solution(skill, skill_trees):
answer = 0
for st in skill_trees:
sk_list = list(skill)[::-1]
for c in st:
if c in skill:
if sk_list.pop() != c:
break
else:
answer += 1
return answer
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ ์ ๋ค์ ์คํฌ ํธ๋ฆฌ๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ํ๋์ฉ ๊ฒ์ฌํ๋ค.
- sk_list : ์ ๋ต ์คํฌ ํธ๋ฆฌ๋ฅผ ๋ฆฌ์คํธ๋ก ๋ง๋ค์ด ๋ค์ง์ด ์ ์ฅํด๋๋ค.
- ์ ์ ์คํฌ์ ํ ๊ธ์์ฉ ๊ฒ์ฌํ๋ค.
- ๋ง์ฝ ์ ๋ต ์คํฌํธ๋ฆฌ์์ ์๋ ๊ธ์๋ผ๋ฉด, ์ ๋ต ์คํฌํธ๋ฆฌ ๋ฆฌ์คํธ์์ ์์๋ฅผ ํ๋ ๊บผ๋ด ๋น๊ตํ๋ค.
- ๊ฐ์ง ์๋ค๋ฉด ์์๊ฐ ํ๋ ธ๋ค๋ ์๋ฏธ๊ฐ ๋๋ค.
- for - else๋ฌธ์ผ๋ก, break์์ด ๋๊น์ง for๋ฌธ์ด ๋ฐ๋ณต๋๋ค๋ฉด else๋ฌธ์ ์คํํด answer์ +1 ํ๋ค.
๐ธ ๋ค๋ฅธ ํ์ด ๐ธ
import re
def solution(skill, skill_trees):
sum(skill.startswith(re.sub('[^' + skill + ']', '', st)) for st in skill_trees)
- ์ ๋ต ์คํฌํธ๋ฆฌ์ ๋ฌธ์๋ฅผ ์ ๊ทํํ์์ผ๋ก ๊ฒ์ํ๋ค.
- re.sub(์ ๊ทํํ์, ์นํ๋ฌธ์, ๋์๋ฌธ์์ด)
- ์ ๊ท ํํ์ : ๊ฒ์ ํจํด์ ์ง์
- '[๋ฌธ์์ด]' : ๋ฌธ์์ด์ ๊ฒ์
- '[^๋ฌธ์์ด]' : ๋ฌธ์์ด์ ์ ์ธํ๊ณ ๊ฒ์
- ์นํ ๋ฌธ์ : ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋ฌธ์ (์ง์ ์ํ๋ฉด ์ ๊ฑฐ)
- ๋์ ๋ฌธ์์ด : ๊ฒ์ ๋์์ด ๋๋ ๋ฌธ์์ด
- ๋ฐ๋ผ์ skill์ ์ ์ธํ ๋ฌธ์๋ค์ ์์ค๋ค.
- str.startswith(S) ํจ์๋ก ๋ฌธ์์ด str์ด S๋ก ์์ํ๋์ง ์ ์ ์๋ค.
- True์ False๋ฐํ
- True == 1์ด๋ฏ๋ก sum์ผ๋ก ํฉ์น๋ฉด ํด๋นํ๋ ๊ฐ์๋ฅผ ์ ์ ์์
๐ธ end ๐ธ
- ์ฒซ ํ์ด๋ ๊ฐ์ ์๋ฆฌ๋ก ํ๊ธดํ๋๋ฐ, ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ for-else๋ฌธ์ ์ฌ์ฉํด์ ๋ ๊น๋ํ๊ฒ ํ์๊ธธ๋ ์ฐธ๊ณ ํ๋ค.
- ์ ๋ฆฌ ํฌ์คํ ์ ์ฐพ์๋ณด๋ for-else๋ฌธ ๋ง๊ณ ๋ while-else๋ฌธ๋ ์์๋ค. ์ ์ฉํ ๊ฒ ๊ฐ๋ค.
- ์ ๊ทํํ์์ ์ฌ์ฉํ ํ์ด๋ ํ์ค๋ก ์์ฃผ ์งง์์ ๋ฐฐ์ธ์ ์ด ๋ง์๋ ๊ฒ ๊ฐ๋ค.
- ์ ๊ทํํ์์ ์์ง ์ ๋ชฐ๋ผ์ ์ฌ๋ฌ ํฌ์คํ ์ ์ฐพ์๋ณด๊ฒ ๋์๋ค. ( re.sub() , [^] )
- startswith()๋ ์ฒ์๋ณด๋ ํจ์์ฌ์ ์ ๋ฆฌ ํฌ์คํ ์ ์ฐพ์๋ณด์๋ค.
- ์๊ฐ์ ๋ฏธ๋ฌํ๊ฒ ์ ๊ทํํ์ ํ์ด๊ฐ ๋ ๋๋ ธ๋ค.
728x90
'CodingTest > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2022.09.19 |
---|---|
Lv.1 : ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (0) | 2022.09.19 |
BOJ_1012 : ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2022.09.15 |
Lv.2 : ํํ (0) | 2022.09.12 |
BOJ_1548 : ๋ถ๋ถ ์ผ๊ฐ ์์ด (0) | 2022.09.11 |