[프로그래머스 Lv2] 스킬트리 (파이썬)

Jewon Joel Park·2022년 5월 28일
0

Programmers-solution

목록 보기
6/34

문제 링크


문제 설명

필수적으로 따라야하는 순서의 문자열(skill)과 유저들이 만든 스킬트리를 담은 배열(skill_trees)을 입력받아 조건에 부합하는 개수를 반환하는 함수 작성


풀이 코드

def solution(skill, skill_trees):
    answer = 0
    for skills in skill_trees:
        skill_list = list(skill)
        for s in skills:
            if s in skill:
                if s != skill_list.pop(0):
                    break
        else:
            answer += 1

    return answer

코드 설명

  1. 스킬의 순서는 매 스킬트리를 조회할 때마다 검사해야하기 때문에 1차원 배열 skill_trees에서 개체를 꺼낼 때마다 list 타입으로 변환하여 저장
  2. 유저가 만든 스킬트리(str)를 하나씩 꺼낼 때 마다 해당 문자가 문자열 skill에 존재하는지를 조회
  3. 2번의 결과가 True일 경우 skill_list의 첫 객체를 pop(0)하여 비교, 서로 다를 경우 for Loop 중단
  4. 2번의 결과가 False일 경우 skill_list.pop(0)은 동작하지 않음
  5. for Loop이 break없이 잘 동작했을 경우 정답 카운트 1 증가
profile
10년을 돌고 돌아 마침내 제자리를 찾은 문과 출신 Python 개발자의 인생기록장

0개의 댓글