본문 바로가기

개발/알고리즘

[프로그래머스] 스킬트리

반응형
 

코딩테스트 연습 - 스킬트리

 

programmers.co.kr

 

입력 & 출력

선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때,
가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요.

풀이

스킬 트리 안에 스킬이 차례로 들어갔는지 확인하기 위해
스킬 트리의 인자가 스킬의 인자를 지니고 있을 경우 문자열에 더해주는 방법을 사용했다
이 과정을 마치고 result 문자열이 skill의 순서와 같다면 전체 총합에 1을 더해주면 된다

 

Swift 전체 코드

func solution(_ skill:String, _ skill_trees:[String]) -> Int {
    var count = 0
    
    for i in skill_trees {
        var result = ""
        for j in i {
            if skill.contains(j) {
                result += String(j)
            }
        }
        if skill.starts(with: result){
            count += 1
        }
    }
    
    return count
}

 

 

반응형