본문 바로가기

Computer Science/알고리즘 문제풀이

Programmers > #25 winter recruit > #1 [JAVA]

Winter coding #1



1. 문제 설명


문제는 대강 기억나는 대로 적어보자면, 스킬트리가 있다. 예를 들면, "ABC"라는 문자열이 있을 때, 각각 A,B,C는 스킬이며 ABC순서 대로 스킬을 배워햐 한다.


만약 skill 문자열이 "BCA" 이런식으로 주어졌을 때, skills 문자열 배열이 input으로 "BAC"로 주어진다면 기존의 skill문자열을 위반한 것이기 때문에 이는 잘못 된 문자열이다. 다만 "BCA"가 아닌 F 나 G가 들어오면 이는 무시한다. 



2. 나의코드

import java.lang.String;
import java.util.*;

class Solution {
    public int solution(String skill, String[] skill_trees) {
        int answer = 0;
        
        for(int i=0; i<skill_trees.length;i++){
            boolean flag = true;
            String [] skills = skill_trees[i].split("");
            int cnt =0;
            for(int j=0;j<skills.length;j++){
                if(cnt < skill.indexOf(skills[j])){
                    flag = false;
                    break;
                }
                else if(cnt == skill.indexOf(skills[j]))
                    cnt++;
            }
            if(flag){
                answer++;
            }
            cnt=0;
        }
        return answer;
    }
}