[Python] 프로그래머스(Lv2) - 스킬트리

Kerri·2021년 3월 18일
0

코테

목록 보기
21/67

안녕하세요 :)

is_ascending 함수에서 1차이 나는 오름차순 배열이 아니면 False를 리턴하도록 구현해서 풀었습니다.

skill 이 하나도 겹치지 않는 경우에도 답이므로 is_excist = False 이면 답에 추가하도록 구현했습니다.

https://programmers.co.kr/learn/courses/30/lessons/49993

def solution(skill, skill_trees):
    answer = 0
    
    for skill_tree in skill_trees:
        temp = []
        is_excist = False
        for i in range(len(skill_tree)):
            if skill_tree[i] in skill:
                pos = skill.find(skill_tree[i])
                is_excist = True
                if not temp and pos != 0:
                    break
                temp.append(pos)                
        if temp and is_ascending(temp):
            answer += 1
        if not is_excist:
            answer += 1
    
    return answer
    
def is_ascending(arr):
    ascending = True
    for i in range(1,len(arr)):
        if arr[i-1] + 1 == arr[i]:
            ascending = True
        else:
            ascending = False
            break
        
    return ascending
profile
안녕하세요 !

0개의 댓글