본문 바로가기
Problem Solving

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

by JYHAN 2020. 12. 15.

순서도

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

[풀이]

주어진 스킬 순서에 한 글자라도 어긋나는 것이 생길 경우, 카운트를 하지 않는다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution {
    public int solution(String skill, String[] skill_trees) {
        int answer = 0;
        int end = skill.length();
        for(int i=0; i<skill_trees.length; i++){ // 단어 1개
            int start = 0;
            String tree = skill_trees[i]; // "BACDE"
            boolean isSuccess = true;
            ex:for(int j=0; j<tree.length(); j++){ 
                // B A C D E
                char c = tree.charAt(j);
                for(int k=start; k<end; k++){
                    if(c == skill.charAt(k)){
                        if(k==start){
                            start++;
                            break;
                        }else{
                            isSuccess = false;
                            break ex;
                        }
                    }
                }
            }
            if(isSuccess) {
                System.out.println(tree);
                answer++;
            }
        }
        return answer;
    }
}
cs

댓글