C++:: 프로그래머스 < 스킬트리 >

jahlee·2023년 7월 6일
0

프로그래머스_Lv.2

목록 보기
68/106
post-thumbnail

주어지는 스킬 트리순서에 맞게 스킬이 짜여있는지를 판별하면 된다. 주의할 점은 주어진 스킬트리 외로 그냥 익힐 수 있는 스킬들도 존재한다는 점이다.

#include <string>
#include <vector>
using namespace std;

int solution(string skill, vector<string> skill_trees) {
    int answer = 0;
    for (auto skill_tree : skill_trees) {
        bool is_good = true ;
        int skill_idx = 0;
        for (auto user_skill : skill_tree) {
            int cur_idx = skill.find(user_skill);// 스킬 트리에서 유저가 배운 스킬이 있는지 확인
            if (cur_idx == -1) continue ;// 없다면 넘긴다
            if (cur_idx != skill_idx) {// 있는데 순서에 맞게 찍지 않았다면
                is_good = false;
                break ;
            }
            skill_idx++;
        }
        if (is_good) answer++;
    }
    return answer;
}

0개의 댓글