[Programmers] ์คํฌํธ๋ฆฌ
Updated:
์คํฌํธ๋ฆฌ
์คํฌํธ๋ฆฌ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ฐ๋ก ์ด๋ํ๋ค.
์ด ๋ฌธ์ ๋ ์คํฌ์ ๋ฐฐ์์ผ ํ ์์๋ฅผ ์ฃผ๋ฉด ์คํฌํธ๋ฆฌ๊ฐ ์ ํ ์คํฌ ์์์ ๋ง๊ฒ ์ ๋ ฅ๋์๋ ์ฒดํฌํ๋ ๋ฌธ์ ์ด๋ค.
skill | skill_trees | return |
---|---|---|
โCBDโ | [โBACDEโ, โCBADFโ, โAECBโ, โBDAโ] | 2 |
โCBDโ ๋ผ๋ ์คํฌ ์์๊ฐ ์ฃผ์ด์ก๊ณ ์ฃผ์ด์ง ์คํฌํธ๋ฆฌ๊ฐ ์ ํฉํ์ง ๊ฒ์ฌํ๋ฉด ๋๋ค !
์์ ์์์์๋ โCBADFโ, โAECBโ ๊ฐ ์ ํฉํ ์คํฌํธ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ๋ฆฌํด๊ฐ์ 2 ์ด๋ค.
์ฒ์์ ์ด๋ป๊ฒ ์ ๊ทผํด์ผํ ๊น ๊ฝค ๊ณ ๋ฏผํ๋ค.. Level2 ๋ฌธ์ ์ธ๋ฐ..
์ด์จ๋ , ํ์ด์ฌ์ ๊ณต๋ถํ๋ฉด์ ์คํธ๋ง์ ๋ค๋ฃจ๋ ํจ์๊ฐ ์์ฃผ ๋ค์ํ๊ณ ์ ์ฉํ๊ฒ ๋ง๋ค๋ ๊ฑธ ์์๋ค.
๊ทธ๋์ ์๊ฐํ ํ์ด๋ฒ์ ์คํฌํธ๋ฆฌ์์ ์ฃผ์ด์ง ์คํฌ๋ค๋ง ๋ฝ์๋ด ์๋ก์ด ์คํฌํธ๋ฆฌ๋ฅผ ๋ง๋ค์๋ค.
์๋ฅผ ๋ค๋ฉด โBACDEโ ๊ฐ์ ๊ฒฝ์ฐ ์ฃผ์ด์ง ์คํฌ์ธ โCBDโ ๋ง ๋ฝ์๋ธ๋ค๋ฉด โBCDโ ๊ฐ ๋๋ค.
์ด๋ ๊ฒ ๋ฝ์๋ธ ์คํฌ์ โCBDโ ์ ๋น๊ตํ๋ ๊ฒ์ด๋ค.
ํ์ด์ฌ์๋ A ์คํธ๋ง์ด B์ ํฌํจ๋์ด์๋์ง๋ฅผ ๋ฐํํ๋ ์์ฃผ ์ข์ ํจ์๊ฐ ์๋ค.
๊ทธ๋์ ํฌํจ์ด ๋์ด์๋ค๋ฉด ์นด์ดํธ ๊ฐ์ 1 ์ฌ๋ ธ๋ค.
๋น์ฐํ ๋ฐฑ์ ์ผ ๊ฒ์ด๋ ์๊ฐ์ ํ๊ณ ์ ์ถํ๋๋ฐ ํ ์คํธ์ผ์ด์ค 10๊ฐ ์ค ํ ๊ฐ๋ง ๋ง์๋ค..
๋ฌธ์ ๊ฐ ๋ฌด์์ธ๊ฐ ์์ธํ ๋ณด๋ ๋ง์ง๋ง ๊ฐ์ ๊ฒฝ์ฐ โBDAโ ์์ ์คํฌ์ ๋ฝ์๋ด๋ฉด โBDโ ๊ฐ ๋๊ณ
โCBDโ ์๋ ํฌํจ๋๋ ์ด ์คํฌํธ๋ฆฌ๋ ๊ฐ๋ฅํ๋ค๊ณ ํ๋จ ํด ์นด์ดํธ๋ฅผ ์ฌ๋ ธ๋ ๊ฒ์ด๋ค..
C ๋ฅผ ๋จผ์ ๋ฐฐ์ฐ์ง ์์๊ธฐ ๋๋ฌธ์ โBDโ ๋ ์ฑ๋ฆฝํ์ง ์๋๋ค.
๊ทธ๋์ ์ด๋ค ๋ฐฉ๋ฒ์ด ์๋ ์๊ฐํด ๋ณด๋ ์ค.. ์์ ๋ฝ์๋ธ ์คํฌ์ด ํฌํจ๋ง ๋์ด์์ผ๋ฉด ์นด์ดํธ๋ฅผ ์ฌ๋ ธ๋๋ฐ
ํฌํจ๋์ด์๋ ์์น๊ฐ ์ธ๋ฑ์ค 0 ๋ถํฐ ์์๋์ด์์ผ๋ฉด ์กฐ๊ฑด์ด ์ฑ๋ฆฝํ๋ค.
๋ง๋ก ์ค๋ช ํ๋ ค๋ ๋ณต์กํ ๊ฒ ๊ฐ์๋ฐ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ดํด๊ฐ ๊ฐ ๊ฒ์ด๋ค.
def solution(skill, skill_trees):
answer = 0
data = ""
i = 0
# skill๊ณผ ๋น๊ตํด ์๋ ์คํฌ๋ง ์ถ์ถ
for skillTreeCur in skill_trees:
for skillTreeIndex in skillTreeCur:
if skillTreeIndex in skill:
data += skillTreeIndex
if data in skill and skill.find(data) == 0: # ํฌํจ๋์ด์๋ ์์น๊ฐ 0 ์ด์ด์ผํ๋ค
answer += 1
data = ""
return answer
์ด ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋๋๊ฑด๋ฐ.. C ๊ฐ์ ๊ฒฝ์ฐ๋ ๊ตฌ๋ฌธ์ {} ์ค๊ดํธ๋ก ๋ฌถ์ด์ ๊ตฌ๋ถ์ด ์ ๊ฐ๋๋ฐ
ํ์ด์ฌ์ ๋ค์ฌ์ฐ๊ธฐ๋ก ๊ตฌ๋ถ์ ํ๋ ์ด์คํฌ๋ฌธ์ ์กฐ๊ฑด๋ฌธ์ ์ฐ๋ ์กฐ๊ธ ํท๊ฐ๋ ธ๋ค.
ํ์ด์จ๋ ํ ์ฝ๋๋ฅผ ์ง๋๋ก ๋ ธ๋ ฅํ์..
Leave a comment