#include <string>
#include <vector>
#include <iostream>

using namespace std;

int solution(string skill, vector<string> skill_trees) {
    int answer = 0;
    string tmp= "";
    //sill_trees 내의 string 내에 skill string과 동일한 skill만을 저장하기 위한 변수
    for(int i=0;i<skill_trees.size();i++)
    {
        for(int j=0;j<skill_trees[i].size();j++)
        {
            for(int k=0;k<skill.size();k++)
            {
                if(skill_trees[i].at(j)==skill.at(k))
                    tmp.push_back(skill_trees[i].at(j));
                //선행 스킬 순서에 포함된 스킬만 tmp에 저장한다.
            }    
        } 
        if(skill.find(tmp)==0) 
            //find를 실행하였을 때 선행 스킬순서의 첫번째 인덱스를 반환할 때만 
            //사용가능한 유저스킬트리
             answer++;   
        
        tmp=""; 
        //다음 인덱스에서의 확인을 위해 tmp  초기화
     }
    return answer;
}

+ Recent posts