본문 바로가기

프로그래머스

프로그래머스 LV2 스킬트리

728x90
from collections import deque

def solution(skill, skill_trees):
    answer = 0
    for i in skill_trees :
        s= '';
        for j in range(len(i)) :
            if i[j] in skill :
                s += i[j];
        if s == skill[:len(s)] :
            answer += 1;
            
    return answer

풀이 및 회고

사실 deque 를 활용해서 문제를 풀려고 시도 했습니다. 하지만 그럴 경우 테스트 케이스 기준으로 "AECD" 가 만족하지 않기 때문에 다른 방식으로 문제를 풀었습니다.

 

1. s 라는 계속 초기화 되는 문자열을 생성합니다.

2. 이중 포문을 통해 skill_trees 를 반복합니다.

3. skill 에 있는 알파벳이면 일단 s 문자열에 저장합니다.

4. 그 후 s 를 기준으로 슬라이싱해 같은지 비교합니다.

728x90