본문 바로가기
Coding Test/Programmers

[Programmers] (Summer/Winter Coding(~2018)) Lv 2. 스킬트리

by song.ift 2023. 7. 12.

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

#include <string>
#include <vector>
#include <algorithm>
#include <numeric>

using namespace std;

int solution(string skill, vector<string> skill_trees) {
    return ::accumulate(skill_trees.begin(), skill_trees.end(), 0, [&](int acc, string str) {
        size_t pos = 0;
        for (size_t i = 0; i < str.length(); ++i)
        {
            auto temp = skill.find(str[i]);

            if ((temp != string::npos && temp < pos)        // 스킬트리 순서가 차례대로 안나옴
                || (temp != string::npos && temp > pos))    // pos가 0일 경우를 고려한 조건 (BDA일 경우)
                return acc;
            else if (temp != string::npos) pos = temp + 1;
        }
        return acc + 1;
    });
}

GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/commit/22b9003a53c03abb8d030a66cb7b5e40463f0ae1

 

[level 2] Title: 스킬트리, Time: 0.01 ms, Memory: 4.15 MB -BaekjoonHub · developeSHG/Algorithm-Baekjoon_Programmers@22b9003

developeSHG committed Jul 12, 2023

github.com

 

댓글