본문 바로가기
DC 2

[자료구조] 스킬트리 파이썬

by YGSEO 2021. 4. 22.
728x90
def solution(skill, skill_trees):
    cnt = 0
    for skill_set in skill_trees:
        check = []
        for s in skill_set:
            if s in skill:
                check.append(s)
        
        else:
            n = len(check)
            if list(skill)[:n] == check:
                cnt += 1
    return cnt

스킬트리에 있는 각 element를 skill set이라고 하고

이 skill set에 있는 원소중에서 순회하면서 skill에 있는 원소만 꺼내면

순서도 그대로 유지하면서 꺼낼수 있을거라 생각해서 리스트로 꺼냈다

 

두 번째 for loop(skill set의 각 element 순회하면서 skill에 있는 원소만 꺼낸다.) 이 정상적으로 끝나면(else)

check에 있는 length는 비교하고자 하는 skill의 length와 다른 경우에도 조건에 만족하면 되기 때문에

check length만큼만 비교한다.

728x90

댓글