본문 바로가기

Programmers - 스킬트리 [파이썬] 본문

Algorithms/Stack and Queue

Programmers - 스킬트리 [파이썬]

Louisus 2020. 5. 19. 00:34
728x90

from collections import deque

 

def solution(skill, skill_trees):

    answer = 0

 

    for i in skill_trees:

        temp = deque()

        for j in i:

            if j in skill:

                temp.append(j)

        cnt = 0

        n = len(temp)

        temp2 = deque(skill)

 

        while temp:

            if temp.popleft() == temp2.popleft():

                cnt+=1

        if cnt == n:

            answer+=1

 

    return answer

 

# cnt 와 n 비교를 while 문안에서 실행해서 실패 발생한 것 수정

 

#############

다른사람 풀이

#############

 

def solution(skill, skill_trees):

    answer = 0

   

    for skills in skill_trees:

        skill_list = list(skill)

       

        for i in skills:

            if i in skill:

                if i != skill_list.pop(0):

                    break

        else:   

            answer += 1

   

    return answer

 

# for-else 문이 존재.....

 

#############

다른사람 풀이

#############

 

def solution(skill, skill_trees):
    answer =
0

   
for i in skill_trees:
        skill_list =
""
       
for j in i:
           
if j in skill:
                skill_list += j
       
if skill_list == skill[0:len(skill_list)]:
            answer +=
1

   
return answer

 

# 좀 더 직관적임

Comments