문제 : 스킬트리
분석
다중 for 문을 이용하면 쉽게 풀 수 있는 문제이다.
배운 선행 스킬 개수인 int형 cnt 변수와 bool형 변수인 check를 통해 그때그때 판단해서 처리했다.
구현
int solution(string skill, vector<string> skill_trees) {
int answer = 0, cnt = 0;
bool check = true;
for (int i = 0; i < skill_trees.size(); i++)
{
for (int j = 0; j < skill_trees[i].size(); j++)
{
for (int x = 0; x < skill.size(); x++)
{
if (skill[x] == skill_trees[i][j])
{
if (x == cnt)
{
cnt++;
break;
}
else
{
check = false;
j = skill_trees[i].size();
break;
}
}
}
}
if (check) answer++;
check = true;
cnt = 0;
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 C++] - 주식 가격 (0) | 2021.01.16 |
---|---|
[프로그래머스 C++] - 기능 개발 (0) | 2021.01.15 |
[프로그래머스 C++] - 다리를 지나는 트럭 (0) | 2021.01.14 |
[프로그래머스 C++] - 멀쩡한 사각형 (0) | 2021.01.13 |
[프로그래머스 C++] - 124 나라의 숫자 (0) | 2021.01.11 |