프로그래머스#49993. 스킬트리: 구현/ lv2

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

🔍 Inspection

문제 접근(문제 분석 → 풀이 아이디어)

[문제]

[유형] : 구현

🚩 FLOW

코드를 풀이할 때 적었던 플로우가 있나요?

  1. 변수 선언 및 초기화
  1. skill_trees의 단어 반복문으로 가능 단어 개수 확인
  2. "BACDE"의 단어 1개씩 반복문으로 탐색& 비교 (C)

🚩제출한 코드


# skillset이 선행조건 충족 여부 확인 함수 
def check_skill(words , skill) :
    set_p = 0 ; 
    for c in words :  
        # 해당 스킬(c) 가 선행스킬 속 존재여부 파악 및 순번 확인
        idx = skill.find(c) 
        if idx < 0 :  # ok
            continue
        elif idx  == set_p :  # ok
            set_p +=1 
            continue
        else : 
            # 선행 스킬 순서 보다 더 이르게 w 스킬이 등장한 경우 
            return False
    return True

def solution(skill, skill_trees):
    answer = 0
    # 반복문올 skill_tree 속 선행스킬 조건에 충족하는 스킬 확인 및 개수 계산
    for skillset in skill_trees : 
        if check_skill(skillset , skill) :
            answer += 1                 
    
    return answer

🚩결과

image.png

💡TIL