

코딩테스트 연습 - 스킬트리 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 코드
def solution(skill, skill_trees):
answer = 0
#스킬트리 for문 돌림
for i in skill_trees:
skill_set = list(i) #스킬 트리
skill_sq = list(skill) #스킬 찍는 순서
for j in i:
if j in skill_sq:
#스킬트리 순서와 스킬 찍는 순서가 맞지 않으면 break
if skill_sq[0] != j:
break
#스킬트리 순서와 스킬 찍는 순서가 맞으면
elif skill_sq[0] == j:
#스킬트리 pop, 스킬순서도 pop해줌
skill_sq.pop(0)
skill_set.pop(0)
# 스킬찍는 순서와 상관없는 스킬이면 pop해줌
else:
skill_set.pop(0)
#최종적으로 스킬트리 스킬을 다 찍었으면 answer+=1 증감시켜줌
if len(skill_set) == 0:
answer+=1
#print(answer)
return answer
solution("CBD", ["BACDE", "CBADF", "AECB", "BDA"])
다른 코드
def solution(skill, skill_tress):
answer = 0
for i in skill_tress:
skill_check = ''
for j in i:
#skill에 있는 스킬이면 skill_check에 넣어준다
if j in skill:
skill_check+=j
#skill_check와 skill_check의 길이만큼의 skill이 같으면 answer증감
if skill_check == skill[:len(skill_check)]:
answer+=1
#print(answer)
return answer
solution('CBD', ["BACDE", "CBADF", "AECB", "BDA"])
'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글
| [1차] 프렌즈4블록 (0) | 2023.08.11 |
|---|---|
| 모음 사전 (0) | 2023.07.28 |
| 게임 맵 최단거리 (0) | 2023.07.26 |
| 방문 길이 (0) | 2023.07.23 |
| 땅따먹기 (0) | 2023.07.22 |