본문 바로가기

알고리즘/프로그래머스(Python)

[알고리즘] 프로그래머스 스킬트리 / python

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

 

코딩테스트 연습 - 스킬트리 | 프로그래머스

 

programmers.co.kr

 

def solution(skill, skill_trees):
    answer = 0
    not_answer = 0

    for i in range(len(skill_trees)):
        j = skill_trees[i]
        temp = 0
        for k in range(len(j)):
            if j[k] in skill:
                if j[k] == skill[temp]:
                    temp += 1
                else:
                    not_answer += 1
                    break

    answer = len(skill_trees) - not_answer

    return answer
더러운 내 코드..

 

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
for skills in skill_trees  # skills에 "BACDE","CBADF"... 문자열 통채로 들어간다
for s in skills  # s에 B,A,C,D,E 각각 들어가고 C,B,A,D,F들어가고.. 반복

파이썬은 for-else문을 지원한다!
for-else문이란? for문을 끊기지 않고 끝까지 수행한다면 else문이 실행됨