[프로그래머스 / lv.2] 스킬트리
in Problem Solving on Programers
날짜: 2021년 12월 17일
소요 시간: 2시간 초과
카테고리: 구현
태그: 레벨2
, 파이썬
입출력 예시
skill | skill_trees | return |
---|---|---|
“CBD” | [“BACDE”, “CBADF”, “AECB”, “BDA”] | 2 |
내가 적은 코드
풀이 과정
스킬을 순서대로 담은 arr
안의 스킬들을 순차적으로 pop()
하여 pop한 스킬과 다음 차례의 스킬이 다르면 break
함
for-else
문을 통해 만약 정상적으로 for문이 끝까지 돌아갔다면 answer
에 1을 더해줌
베스트 코드
def solution(skill, skill_trees):
answer = 0
for skills in skill_trees:
arr = list(skill)
for skl in skills:
if skl in skill:
if skl != arr.pop(0):
break
else:
answer += 1
return answer
리뷰
pop()
을 항상 스택의 pop만 생각했다. 인덱스를 지정한 pop도 활용할 줄 알아야 한다.for-else
문을 활용하여 문제를 푸는 건 처음이다. 앞으로 활용할 수 있도록 익숙해 져야 한다.