728x90
문제
코딩테스트 연습 - 스킬트리
programmers.co.kr
코드
def search(a,b):
c = list(b)
d = 1
for i in range(len(c)-1,-1,-1):
if(c[i] not in a):
del c[i]
if(len(c) == 0):
d = 1
else:
for i in range(len(c)):
if(c[i] != a[i]):
d = 0
return d
def solution(skill, skill_trees):
answer = 0; skill = list(skill)
for i in range(len(skill_trees)):
answer += search(skill,skill_trees[i])
return answer
코드풀이
skill : 선행되야 할 스킬
skill_trees : 주어지는 스킬 트리 배열
d = 결과값
1. 문자열 스킬트리를 배열로 각각 나눈다.
2. search 함수를 통해 skill과 skill_trees의 첫번째 배열부터 검사를 시작한다.
3. skill에 없는 스킬은 지운다. (이후 배열이 모두 사라지면 되는 것이니 1 반환)
4. 같은 자리수의 skill과 skill_tree의 원소끼리 비교해서 같지 않으면 불가능한 것이니 0 반환.
300x250
'코딩코딩' 카테고리의 다른 글
[프로그래머스] level2 - 프린터 : 파이썬(Python) 풀이 (0) | 2020.09.16 |
---|---|
[프로그래머스] level2 카펫 - 파이썬(Python) 풀이 (0) | 2020.09.13 |
[프로그래머스] level1 완주하지 못한 선수 (0) | 2020.09.02 |
[프로그래머스] level2 더 맵게 - 파이썬(Python) (0) | 2020.08.28 |
[프로그래머스] level2 다리를 지나는 트럭 - 파이썬(Python) (0) | 2020.08.27 |