주어진 스킬을 digit 단위로 확인하면서 스킬트리에 포함된 스킬인지 확인한다. 리스트를 통해 주어진 스킬에서 사용된 스킬트리 인덱스를 순서대로 넣는다. 스킬트리에 포함되어 있지 않다면(즉 skill_idx가 비었다면) 상관없으므로 OK. 스킬트리에 포함된 스킬이 존재한다면 순서대로 넣었는지, 선행 스킬이 입력되었는지를 모두 확인해야 한다.
def solution(skill, skill_trees):
total = 0
skill = [x for x in skill]
skill_idx = []
for skill_tree in skill_trees:
for tree in skill_tree:
if tree in skill:
skill_idx.append(skill.index(tree))
if not skill_idx: total += 1
elif skill_idx == sorted(skill_idx) and skill_idx == [i for i in range(max(skill_idx)+1)]:
total += 1
skill_idx.clear()
return total