[프로그래머스 LV2] 스킬트리

Junyoung Park·2021년 12월 23일
0

코딩테스트

목록 보기
12/631

1. 문제 설명

스킬트리

2. 문제 분석

주어진 스킬을 digit 단위로 확인하면서 스킬트리에 포함된 스킬인지 확인한다. 리스트를 통해 주어진 스킬에서 사용된 스킬트리 인덱스를 순서대로 넣는다. 스킬트리에 포함되어 있지 않다면(즉 skill_idx가 비었다면) 상관없으므로 OK. 스킬트리에 포함된 스킬이 존재한다면 순서대로 넣었는지, 선행 스킬이 입력되었는지를 모두 확인해야 한다.

3. 나의 풀이

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
profile
JUST DO IT

0개의 댓글