본문 바로가기

난 이 분야 전문가야!/Algorithm

프로그래머스 :: 스킬트리 - c++ 풀이 공유

https://programmers.co.kr/learn/courses/30/lessons/49993

 

코딩테스트 연습 - 스킬트리

 

programmers.co.kr

 

<풀이>

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <string>
#include <vector>
 
using namespace std;
 
int solution(string skill, vector<string> skill_trees) {
    int answer = 0;
    int cur, next;
    bool flag;
    
    for(int i = 0;i < skill_trees.size(); i++){
        flag=true;
        next = 0;
        for(int j = 0;j < skill_trees[i].size(); j++){
            cur = skill.find(skill_trees[i][j]);
            if(cur == -1){
                continue;
            }else{
                if(next++ != cur){
                    flag = false;
                    break;
                }
            }
        }
        if(flag == true)
            answer++;
    }
    return answer;
}
cs

 

 

<느낀점>

 

역시 코딩테스트 문제를 풀 때는 문제를 잘 이해하고 계속 생각하면서 문제를 풀어야 하는 것 같다.

쉬운 문제임에도 불구하고 문제를 잘못 이해해서 답안 오류인가 의심하기도 하고...

이 문제는 python for - else문을 사용하여 풀어보면 좋을거 같다.

728x90