문제풀이(Problem Solving)

프로그래머스, 스킬트리 : C++ [CPP]

게임이 더 좋아 2021. 11. 18. 16:23
반응형
728x170

쉽진 않지만

그냥 생각하기 까다롭다는 것?

구현하기는 어렵지 않다는 것

https://programmers.co.kr/learn/courses/30/lessons/49993?language=cpp 

 


 

#맞는 풀이

#include <string>
#include <vector>

using namespace std;

int solution(string skill, vector<string> skill_trees) {
    int answer = 0;
    //Skil_Tree가 잘 되었는지 하나씩 조사
    for(auto x : skill_trees){
        string s = "";
        //해당 스킬트리에서 순서를 지켜야하는 스킬이 있는지 조사
        for(auto y : x){
            for(auto a : skill){
                if(y == a){
                    s += a;
                    break;
                }
            }
        }
        
        //해당 스킬트리 순서가 제대로 되었는지 확인
        int length = s.size();
        int cnt = 0;
        //순서가 제대로 되었다면 개수가 똑같겠다.
        for(int i=0; i<length; i++){
            if(skill[i] == s[i]){
                cnt++;
            }
        }
        
        //해당 개수가 같으면 ++
        if(cnt == length){
            answer++;
        }
        
    }
    return answer;
}

 

어려운 대신 생각하기는 조금 까다로울 수 있는 문제

 

반응형
그리드형