#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;
}
'알고리즘' 카테고리의 다른 글
[BAEKJOON 2503번] (C++) 숫자 야구 (0) | 2020.09.01 |
---|---|
[BAEKJOON 2309번] (C++) 일곱 난쟁이 (0) | 2020.08.31 |
[PROGRAMMERS/Level2] (C++) 탑 (0) | 2020.07.07 |
[PROGRAMMERS/Level2] (C++) 주식가격 (0) | 2020.07.07 |
[PROGRAMMERS/Level2] (C++) 기능개발 (0) | 2020.07.06 |