문제
https://programmers.co.kr/learn/courses/30/lessons/49993?language=python3
풀이
def solution(skill, skill_trees):
answer = 0
for tree in skill_trees :
idx = 0
for t in tree :
if t in skill :
if skill.index(t) == idx : idx += 1
else :
idx = -1
break
if idx != -1 :
answer += 1
return answer
현재 스킬이 선행스킬목록에 속할 때,
선행스킬목록의 순서(idx)와 일치하는지 판별
일치할 경우 idx를 증가시켜주고 다음 스킬로 이동
일치하지 않을 경우 idx에 쓰레기값을 넣어주고 루프 탈출
루프를 다 돌던, break해서 탈출했건 idx를 확인했을 때
쓰레기 값이 아니라면 answer++
다른 풀이들도 대부분 비슷하게 해결했다.
댓글남기기