코딩코딩

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

Jerry Jun 2020. 9. 9. 17:04
728x90

문제

 

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

 

programmers.co.kr

 

 

코드

def search(a,b):
    c = list(b)
    d = 1
    for i in range(len(c)-1,-1,-1):
        if(c[i] not in a):
            del c[i]
    if(len(c) == 0):
        d = 1
    else:
        for i in range(len(c)):
            if(c[i] != a[i]):
                d = 0
    return d
            
    
def solution(skill, skill_trees):
    answer = 0; skill = list(skill)
    for i in range(len(skill_trees)):
        answer += search(skill,skill_trees[i])
    return answer

 

 

코드풀이

skill : 선행되야 할 스킬

skill_trees : 주어지는 스킬 트리 배열

d = 결과값

 

 

1. 문자열 스킬트리를 배열로 각각 나눈다.

2. search 함수를 통해 skill과 skill_trees의 첫번째 배열부터 검사를 시작한다.

3. skill에 없는 스킬은 지운다. (이후 배열이 모두 사라지면 되는 것이니 1 반환)

4. 같은 자리수의 skill과 skill_tree의 원소끼리 비교해서 같지 않으면 불가능한 것이니 0 반환.

 

 

 

correctimage1
programmersimage

300x250