https://school.programmers.co.kr/learn/courses/30/lessons/49993
💜풀이
스킬 트리만큼 루프 돌면서 현재 스킬원소에서 skill에 들어있는 애가 있으면 temp에 넣는다.
그리고 temp랑 skill이 같으면 바로 answer+=1해주고, 아니라면 루프 돌면서 temp에서 꺼낸 현재의 값이 지금 현재 skill의 값과 같은지 아닌지 비교한다.
다르다면 바로 중지하고, 끝까지 돌았거나 만약 temp에 원소가 남지 않았으면 answer+=1해준다.
💜코드
from collections import deque
def solution(skill, skill_trees):
answer = 0
for currentSkill in skill_trees:
temp=deque()
for s in currentSkill:
if s in skill:
temp.append(s)
if ''.join(temp)==skill:
answer+=1
else:
for i in range(len(skill)):
if len(temp)==0:
answer+=1
break
t=temp.popleft()
if skill[i]!=t:
break
else:
answer+=1
return answer
'알고리즘' 카테고리의 다른 글
[백준/파이썬(Python)] 2252 줄세우기(Gold 3) (2) | 2023.02.05 |
---|---|
[SWEA D2/파이썬(Python)] 스도쿠 검증 (0) | 2023.02.04 |
[백준 1495/파이썬(Python)] 기타리스트(실버 1) (0) | 2023.01.31 |
[Cos Pro 1급 기출문제/파이썬] 전광판 문구 출력 (0) | 2023.01.15 |
[Python3] 프로그래머스 Level2-할인행사 (0) | 2022.10.12 |
댓글