코딩테스트/프로그래머스

[프로그래머스] Level 2 - 스킬 트리 (Python)

ye0nn 2022. 6. 27. 17:11

 

 

 

 

https://programmers.co.kr/learn/courses/30/lessons/49993

 

코딩테스트 연습 - 스킬트리

 

programmers.co.kr

 

 

 

 

✅ Solution

  • 스킬이 선행 스킬 순서 배열에 존재할 때,
    • 배울 수 있는 스킬(now)과 스킬의 인덱스 값이 같을 때, 배울 수 있는 스킬의 값에 1을 더해준다.
    • 만약 같지 않다면 선행 스킬을 배우지 않은 것이므로 False를 리턴한다.

 

 

 

 

✅ Code

def check(skill_tree, skill):
    now = 0
    for s in skill_tree:
        if s in skill:
            if skill.index(s) == now:
                now += 1
            else:
                return False
    return True


def solution(skill, skill_trees):
    answer = 0

    for skill_tree in skill_trees:
        if check(skill_tree, skill):
            answer += 1

    return answer