🌞Algorithm/🔥programmers

[programmers] 스킬트리 - Summer/Winter Coding(~2018)

뿌야._. 2021. 1. 11. 20:27

<스킬 트리>

 

문제(출처: https://school.programmers.co.kr/learn/courses/30/lessons/49993)

 

 

문제 풀이

  - my solution

def solution(skill, skill_trees):
    answer = 0
    
    for i in skill_trees: 
        count=0
        temp=[]
        for j in range(len(i)): #값 하나씩 읽어서
            for k in range(len(skill)): 
                if(skill[k]==i[j]): #skill에 있는 글자가 i에 들어있다면
                    temp.append(skill[k]) #list에 추가
        if(len(temp)==0): #list 길이가 0이면 -> skill에 상관없음
            answer+=1
        for j in range(len(temp)): 
            if(skill[j]==temp[j]): #list와 skill을 비교
                count+=1
            if(count==len(temp)): #list길이와 같다면 선행 스킬 순서 skill에 맞다는 의미
                answer+=1

    return answer

 1) skill_trees에 있는 값 순회

    1-1) 값을 하나씩 읽어서 skill에 있는 글자가 있다면 list에 추가

    1-2) list의 길이가 0이면 skill과 상관없으므로 answer+1

    1-3) list 순회 -> list와 skill을 비교해서 list의 길이와 count가 같다면 선행 스킬 순서 skill에 맞다는 의미

                          answer+1


출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges