프로그래머스 알고리즘 문제/Level 2
프로그래머스 Level 2 - 스킬트리
에포트
2020. 8. 19. 16:58
내 정답:
선행 스킬들을 제외한 다른 스킬들을 모두 제외시킨 스트링을 만든 후 남은 스킬들이 선행 스킬 트리를 그대로 따르는지를 테스트하는 방식으로 진행했다.
def solution(skill, skill_trees):
answer = 0
for st in skill_trees:
st_cut = ''.join(list(filter(lambda x: x in skill, st)))
for i in range(-1,len(skill)):
if skill[:i+1] == st_cut:
answer += 1
break
return answer
다른 사람들의 정답:
스킬들을 앞에서 하나씩 제거해가며 실제 선행 스킬 트리와 비교하는 방식으로 진행했다.
def solution(skill, skill_trees):
answer = 0
for skills in skill_trees:
skill_list = list(skill)
for s in skills:
if s in skill:
if s != skill_list.pop(0):
break
else:
answer += 1
return answer