코딩 테스트/프로그래머스

프로그래머스 - 스킬트리 문제 (자바)

https://programmers.co.kr/learn/courses/30/lessons/49993

 

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

 

programmers.co.kr

 

말로 설명하는 것보다 코드로 보는게 더 이해하기 편할거 같다.

그래도 조금 설명하자면 유저의 스킬 트리 중 선행 관련 스킬에 해당 되면 indexOf를 통해서 위치를 구하여서 선후를 구하면 된다.

// 프로그래머스 스킬트리 문제
class SkillTree {
    public int solution(String skill, String[] skill_trees) {
        int answer = 0;
        for (String skillTree : skill_trees) {
            int learningIdx = 0;
            boolean isAble = true;
            for (char curSkill : skillTree.toCharArray()) {
                int skillIdx = skill.indexOf(curSkill);
                if (skillIdx == -1){
                    continue;
                }

                if (skillIdx != learningIdx) {
                    isAble = false;
                    break;
                }

                learningIdx++;
            }
            if (isAble)
                answer++;
        }
        return answer;
    }
}