728x90
def solution(skill, skill_trees):
cnt = 0
for skill_set in skill_trees:
check = []
for s in skill_set:
if s in skill:
check.append(s)
else:
n = len(check)
if list(skill)[:n] == check:
cnt += 1
return cnt
스킬트리에 있는 각 element를 skill set이라고 하고
이 skill set에 있는 원소중에서 순회하면서 skill에 있는 원소만 꺼내면
순서도 그대로 유지하면서 꺼낼수 있을거라 생각해서 리스트로 꺼냈다
두 번째 for loop(skill set의 각 element 순회하면서 skill에 있는 원소만 꺼낸다.) 이 정상적으로 끝나면(else)
check에 있는 length는 비교하고자 하는 skill의 length와 다른 경우에도 조건에 만족하면 되기 때문에
check length만큼만 비교한다.
728x90
'DC 2' 카테고리의 다른 글
[자료구조] 짝지어 제거하기 파이썬 (stack, valid pair) (0) | 2021.04.22 |
---|---|
[자료구조] 배상 비용 최소화 파이썬 (heap) (0) | 2021.04.22 |
[자료구조] 올바른 괄호 파이썬 (valid parentheses, if~) (0) | 2021.04.22 |
[자료구조] 세 소수의 합 파이썬 (prime number) (0) | 2021.04.22 |
[자료구조] 대중소 괄호 짝 맞추기 파이썬 (stack, valid parentheses) (0) | 2021.04.22 |
댓글