문제링크 :https://programmers.co.kr/learn/courses/30/lessons/49993

 

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

 

programmers.co.kr

 

 

 문제설명 

 

선행 스킬 순서 skill과 유저들이 만든 스킬트리를 담은 배열 skill_trees가 매개변수로 주어질 때,

가능한 스킬트리 개수를 return 하는 solution 함수

 

 알고리즘 

 

1. 스킬트리 리스트에서  선행 스킬 순서 skill 에포함된 스킬만 차례대로 뽑아낸다.

2. 선행 스킬 순서와 뽑은 스킬 의 순서를 비교한다.

3. 순서가 다르면 false 순서가 같으면 true 를 return

 

 코드 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def solution(skill, skill_trees):
    answer = 0
    for tree in skill_trees :
        
        trees = [s for s in tree if s in skill ]
        pos = True
 
        for x,y in zip(trees,skill):
        
            if x!=y:       
                pos = False
                break
        if pos == True:
            answer+=1
    
    return answer
 
cs

 

 

 

ariz1623