<스킬 트리>
문제(출처: https://school.programmers.co.kr/learn/courses/30/lessons/49993)
문제 풀이
- my solution
def solution(skill, skill_trees):
answer = 0
for i in skill_trees:
count=0
temp=[]
for j in range(len(i)): #값 하나씩 읽어서
for k in range(len(skill)):
if(skill[k]==i[j]): #skill에 있는 글자가 i에 들어있다면
temp.append(skill[k]) #list에 추가
if(len(temp)==0): #list 길이가 0이면 -> skill에 상관없음
answer+=1
for j in range(len(temp)):
if(skill[j]==temp[j]): #list와 skill을 비교
count+=1
if(count==len(temp)): #list길이와 같다면 선행 스킬 순서 skill에 맞다는 의미
answer+=1
return answer
1) skill_trees에 있는 값 순회
1-1) 값을 하나씩 읽어서 skill에 있는 글자가 있다면 list에 추가
1-2) list의 길이가 0이면 skill과 상관없으므로 answer+1
1-3) list 순회 -> list와 skill을 비교해서 list의 길이와 count가 같다면 선행 스킬 순서 skill에 맞다는 의미
answer+1
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 내적 - 월간 코드 챌린지 시즌1 (0) | 2021.01.11 |
|---|---|
| [programmers] 3진법 뒤집기 - 월간 코드 챌린지 시즌1 (0) | 2021.01.11 |
| [programmers] 두 개 뽑아서 더하기 - 월간 코드 챌린지 시즌1 (1) | 2021.01.11 |
| [programmers] [1차] 다트 게임 - 2018 KAKAO BLIND RECRUITMENT (0) | 2021.01.04 |
| [programmers] 실패율 - 2019 KAKAO BLIND RECRUITMENT (0) | 2021.01.03 |