[알고리즘] 프로그래머스 2단계 스킬트리

minidoo·2020년 10월 26일
0

알고리즘

목록 보기
47/85
post-thumbnail
def solution(skill, skill_trees):
    
    skill = list(skill)
    answer = 0
    
    for i in skill_trees:
        stack = []
        for j in i:
            if j in skill:
                stack.append(j)
        
        count = 0 
        for k in range(len(stack)):
            if stack[k] == skill[k]:
                count += 1
            else:
                break
        
        if count == len(stack):
            answer += 1
    
    return answer

입출력 예

풀이과정

  1. 주어진 skill을 list로 만든다.
  2. skill_trees 배열을 돌면서 각 문자에 skill에 들어있는 알파벳이 있다면 stack에 담는다.
  3. stack에 담긴 알파벳과 skill에 담긴 알파벳의 인덱스가 같다면 count에 1을 더한다.
  4. 가능한 스킬 트리는 count 값과 stack에 담긴 원소의 개수가 같을 때이다.

0개의 댓글