문제 링크
LV 2: 스킬트리
구현 방식
- 문제에서 안내한대로 구현해주면 된다
- step_set (set type)을 이용해서 검사를 해야할지 안해도 될지를 판단해주었다
- possible_index를 이용해서 스킬순서에서 몇번째까지 배웠는지를 표시해주었다
- possible_flag를 이용해서 가능한 스킬트리인지 아닌지를 판별해주었다
코드
def solution(skill, skill_trees):
answer = 0
for tree in skill_trees:
step = list(skill); step_set = set(step)
possible_index = 0
possible_flag = True
for t in tree:
if t in step_set:
if step.index(t) <= possible_index:
possible_index = step.index(t) + 1
else:
possible_flag = False; break
if possible_flag: answer += 1
return answer