2021. 1. 3. 01:10ใ๐ Algorithm/๐ช๐ป Python ๋ฌธ์ ํ์ด
๋ฌธ์ ์ค๋ช
์ ํ ์คํฌ์ด๋ ์ด๋ค ์คํฌ์ ๋ฐฐ์ฐ๊ธฐ ์ ์ ๋จผ์ ๋ฐฐ์์ผ ํ๋ ์คํฌ์ ๋ปํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ํ ์คํฌ ์์๊ฐ ์คํํฌ → ๋ผ์ดํธ๋ ๋ณผํธ → ์ฌ๋์ผ๋, ์ฌ๋๋ฅผ ๋ฐฐ์ฐ๋ ค๋ฉด ๋จผ์ ๋ผ์ดํธ๋ ๋ณผํธ๋ฅผ ๋ฐฐ์์ผ ํ๊ณ , ๋ผ์ดํธ๋ ๋ณผํธ๋ฅผ ๋ฐฐ์ฐ๋ ค๋ฉด ๋จผ์ ์คํํฌ๋ฅผ ๋ฐฐ์์ผ ํฉ๋๋ค.
์ ์์์ ์๋ ๋ค๋ฅธ ์คํฌ(ํ๋ง ๋ฑ)์ ์์์ ์๊ด์์ด ๋ฐฐ์ธ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์คํํฌ → ํ๋ง → ๋ผ์ดํธ๋ ๋ณผํธ → ์ฌ๋์ ๊ฐ์ ์คํฌํธ๋ฆฌ๋ ๊ฐ๋ฅํ์ง๋ง, ์ฌ๋ → ์คํํฌ๋ ๋ผ์ดํธ๋ ๋ณผํธ → ์คํํฌ → ํ๋ง → ์ฌ๋์ ๊ฐ์ ์คํฌํธ๋ฆฌ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ ํ ์คํฌ ์์ skill๊ณผ ์ ์ ๋ค์ด ๋ง๋ ์คํฌํธ๋ฆฌ1๋ฅผ ๋ด์ ๋ฐฐ์ด skill_trees๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๋ฅํ ์คํฌํธ๋ฆฌ ๊ฐ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์กฐ๊ฑด
- ์คํฌ์ ์ํ๋ฒณ ๋๋ฌธ์๋ก ํ๊ธฐํ๋ฉฐ, ๋ชจ๋ ๋ฌธ์์ด์ ์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์คํฌ ์์์ ์คํฌํธ๋ฆฌ๋ ๋ฌธ์์ด๋ก ํ๊ธฐํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, C → B → D ๋ผ๋ฉด CBD๋ก ํ๊ธฐํฉ๋๋ค
- ์ ํ ์คํฌ ์์ skill์ ๊ธธ์ด๋ 1 ์ด์ 26 ์ดํ์ด๋ฉฐ, ์คํฌ์ ์ค๋ณตํด ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- skill_trees๋ ๊ธธ์ด 1 ์ด์ 20 ์ดํ์ธ ๋ฐฐ์ด์ ๋๋ค.
- skill_trees์ ์์๋ ์คํฌ์ ๋ํ๋ด๋ ๋ฌธ์์ด์
๋๋ค.
- skill_trees์ ์์๋ ๊ธธ์ด๊ฐ 2 ์ด์ 26 ์ดํ์ธ ๋ฌธ์์ด์ด๋ฉฐ, ์คํฌ์ด ์ค๋ณตํด ์ฃผ์ด์ง์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์์
์ ํ์คํฌ์ด ํฌํจ๋๋ ๊ฒ์ ํ์ธํ๋ ๋ก์ง์ ์๊ณ ๋ฆฌ์ฆ ์ง๊ธฐ ์ฌ์ ์ง๋ง, ์๋ฅผ ๋ค์ด C๊ฐ ๋์ค๊ธฐ์ ์ B๊ฐ ๋์ค๋ ๊ฒฝ์ฐ / CB ์ D๊ฐ ๋์จ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์ด ์ฝ์ง์์๋ค. correct๋ผ๋ index๋ฅผ 0์ผ๋ก ๋์ด ๊ตฌํํ์๋๋ ์ฝ๊ฒ ํ ์ ์์๋ค.
skill_trees์ item์ ํ๋์ฉ ๊ฒ์ฌํ๋๋ฐ ๋ง์ฝ ์ ํ์คํฌ์ ํฌํจ๋๋ ๋ฌธ์๊ฐ ๋์ค๊ฒ ๋๋ฉด ์ ํ์คํฌ[correct]์ ๊ทธ ๋ฌธ์๊ฐ ๊ฐ์์ง๋ฅผ ํ์ธํ์๋ค.
๋ง์ฝ ์ ํ์คํฌ์ ํฌํจ๋๋ ๋ฌธ์์ง๋ง ์ ํ์คํฌ[correct] ์ ๊ฐ์ง ์๋ค๋ฉด False๋ฅผ ๊ฐ๋ค๋ฉด correct +1 ์ ํด์ฃผ์ด skill_trees์ item์ ๋ชจ๋ ๊ฒ์ฌํ๋๋ก ๊ตฌํํ๋ค.
ํ์ด ๊ณผ์
def solution(skill, skill_trees):
answer = 0
skill_list = list(skill)
for i in skill_trees:
lists = list(reversed(list(i)))
correct = 0
flag = False
while len(lists) >= 0:
if len(lists) == 0:
flag = True
break
item = lists.pop()
if skill_list.__contains__(item):
if skill_list[correct] == item:
correct += 1
else:
flag = False
break
if flag:
answer += 1
return answer
'๐ Algorithm > ๐ช๐ป Python ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level2] ๋ฐฐ์ ๋น์ฉ ์ต์ํ (0) | 2021.01.03 |
---|---|
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level1] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (0) | 2021.01.03 |
[Python -ํ๋ก๊ทธ๋๋จธ์ค Level2] ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2020.12.31 |