문제

https://programmers.co.kr/learn/courses/30/lessons/49993?language=python3

풀이

def solution(skill, skill_trees):
    answer = 0
    for tree in skill_trees :
        idx = 0
        for t in tree :
            if t in skill :
                if skill.index(t) == idx : idx += 1
                else : 
                    idx = -1
                    break
                    
        if idx != -1 :
            answer += 1
    
    return answer

현재 스킬이 선행스킬목록에 속할 때,
선행스킬목록의 순서(idx)와 일치하는지 판별

일치할 경우 idx를 증가시켜주고 다음 스킬로 이동
일치하지 않을 경우 idx에 쓰레기값을 넣어주고 루프 탈출

루프를 다 돌던, break해서 탈출했건 idx를 확인했을 때
쓰레기 값이 아니라면 answer++

다른 풀이들도 대부분 비슷하게 해결했다.

댓글남기기