본문 바로가기

Problem Solving/프로그래머스

스킬트리

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

int solution(string skill, vector<string> skill_trees) {
    int answer = 0;
    int j = 0;
    if(skill.size() == 1) return skill_trees.size();
    for(int a = 0; a < skill_trees.size(); ++ a) {
        for(int i = skill.size()-1; i > 0; --i) {
            j = i - 1;
            auto first = find(skill_trees[a].begin(), skill_trees[a].end(), skill[i]);
            auto second = find(skill_trees[a].begin(), skill_trees[a].end(), skill[j]);
            
            if(first == skill_trees[a].end() && second == skill_trees[a].end()) {
                if(j == 0) ++ answer;
                continue;
            }
            //if(second == skill_trees[a].end()) break;
            if(second > first) break;
            if(j == 0) ++answer;
        }
    }
    return answer;
}

'Problem Solving > 프로그래머스' 카테고리의 다른 글

구명보트  (0) 2022.01.16
실패율  (0) 2022.01.16
문자열 다루기 기본  (0) 2022.01.16
문자열 내 p와 y의 개수  (0) 2022.01.16
나누어 떨어지는 숫자 배열  (0) 2022.01.16