-
#프로그래머스 스킬트리알고리즘 2021. 4. 1. 17:02
programmers.co.kr/learn/courses/30/lessons/49993
코딩테스트 연습 - 스킬트리
programmers.co.kr
[ 문제 해결방법 ]
어떤 특별한 공식을 사용했다기보다는 문제 그대로 어떤 스킬을 실행할때 그 전에 선행되어야 하는 스킬들이 다 실행됬을경우에만 해당 스킬을 사용할 수 있기때문에, 해당 스킬 바로 전 스킬의 실행여부를 배열에 저장하여 체크하여 모두 정상적으로 실행됬으면 카운트를 해주도록 코드를 짜 보았다.
[ 소스코드 ]
def solution(skill, skill_trees): answer = 0 r_skill = list(skill) for i in skill_trees: b_chk = True # 스킬 순서 일치여부 s_chk = [0 for num in range(len(r_skill))] # 스킬 진행 여부 배열 for j in i: if j in r_skill: # 첫번째스킬 아니면서 그 전 스킬이 선행되지 않았을 경우 if r_skill.index(j) != 0 and s_chk[r_skill.index(j)-1] == 0: b_chk = False # 스킬진행불가 # 첫번째스킬이거나 그 전 스킬이 선행되어 진행하였을 경우 else: s_chk[r_skill.index(j)] = 1 # 스킬진행가능 if b_chk is True: answer += 1 return answer
'알고리즘' 카테고리의 다른 글
조합 #프로그래머스 두 개 뽑아서 더하기 (0) 2021.03.31 순열 #프로그래머스 소수찾기 (0) 2021.03.30 큐,덱 #백준 1966 (0) 2021.03.23 큐,덱 #백준 11866 (0) 2021.03.23 큐,덱 #백준 2164 (0) 2021.03.19