[프로그래머스 / lv.2] 스킬트리


날짜: 2021년 12월 17일
소요 시간: 2시간 초과
카테고리: 구현
태그: 레벨2, 파이썬

프로그래머스 - 스킬트리

입출력 예시

skillskill_treesreturn
“CBD”[“BACDE”, “CBADF”, “AECB”, “BDA”]2

내가 적은 코드


풀이 과정

스킬을 순서대로 담은 arr안의 스킬들을 순차적으로 pop()하여 pop한 스킬과 다음 차례의 스킬이 다르면 break

for-else문을 통해 만약 정상적으로 for문이 끝까지 돌아갔다면 answer에 1을 더해줌

베스트 코드

def solution(skill, skill_trees):
    answer = 0

    for skills in skill_trees:
        arr = list(skill)

        for skl in skills:
            if skl in skill:
                if skl != arr.pop(0):
                    break
        else:
            answer += 1

    return answer

리뷰

  • pop()을 항상 스택의 pop만 생각했다. 인덱스를 지정한 pop도 활용할 줄 알아야 한다.
  • for-else문을 활용하여 문제를 푸는 건 처음이다. 앞으로 활용할 수 있도록 익숙해 져야 한다.




© 2021. by hminkim