https://programmers.co.kr/learn/courses/30/lessons/49993
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(string skill, vector<string> skill_trees) {
int answer = 0;
for (int i = 0; i < skill_trees.size(); i++)
{
string schk = "";
for (int j = 0; j < skill_trees[i].size(); j++)
{
for (int k = 0; k < skill.size(); k++)
{
if (skill_trees[i][j] == skill[k])
{
schk += skill[k];
break;
}
}
}
int flag(0);
for (int j = 0; j < schk.size(); j++)
{
if (skill[j] != schk[j])
{
flag = 1;
break;
}
}
if (flag == 0) answer++;
}
return answer;
}
이 문제 풀 때 schk를 가져왔고,
이것이 skill[i]와 비교해서
앞에껀 무조건 있어야하고,
뒤에껀 없어도되는 성질을 이용한것이다.