Algorithm/Implement
[프로그래머스] Level2/ 스킬트리
정호나
2024. 11. 1. 18:34
https://school.programmers.co.kr/learn/courses/30/lessons/49993
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
def solution(skill, skill_trees):
answer = 0
for x in skill_trees:
# s는 각 스킬트리에 대해 초기화해야함
s = ''
for y in x:
if y in skill:
s += y
if skill[:len(s)] == s:
answer += 1
return answer
입력
skill = "CBD"
skill_trees = ["BACDE", "CBADF", "AECB", "BDA"]
print(solution(skill, skill_trees)) # 예상 출력: 2
동작 설명
s의 길이만큼만 skill의 앞부분과 같은지 비교하고, 같으면 answer + 1
- "BACDE":
- s = "BD"
- skill[:len(s)] == "BD"는 False → 제외
- "CBADF":
- s = "CB"
- skill[:len(s)] == "CB"는 True → 포함
- "AECB":
- s = "CB"
- skill[:len(s)] == "CB"는 True → 포함
- "BDA":
- s = "BD"
- skill[:len(s)] == "BD"는 False → 제외
출력 결과
- 결과: 2