https://school.programmers.co.kr/learn/courses/30/lessons/49993?language=cpp
๋ด ํ์ด
์คํฌ ์์ S์ ํฌํจ๋ ์คํฌ์ Queue์ ๋ฃ์ด์ ์์๋๋ก ์๋์ง ๋น๊ตํ๋ค.
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
#include <iostream>
using namespace std;
int solution(string skill, vector<string> skill_trees) {
int answer = 0;
for(const auto& st : skill_trees)
{
queue<int> q;
// skill์ ์๋ ์คํฌ๋ค์ ๋ชจ๋ q์ ๋ฃ๊ธฐ
for(const auto& s : st)
{
auto iter = find(skill.begin(), skill.end(), s);
if(iter != skill.end())
{
q.push(*iter);
}
}
// q์ ์๋ ์คํฌ๋ค์ด skill ์์๋๋ก ์๋์ง ํ์ธ
int skill_level = 0;
while(!q.empty())
{
char s = q.front();
if(skill[skill_level] == s)
{
++skill_level;
q.pop();
}
else
break;
}
// q๊ฐ ๋น์ด์๋ค๋ฉด skill ์์๋๋ก ์๋ ๊ฒ์ด๋ฏ๋ก ์ ๋ต ์ถ๊ฐ
if(q.empty())
++answer;
}
return answer;
}
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] level.3 - ์ด์ค์ฐ์ ์์ํ(C++) (0) | 2023.06.04 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] level.3 - ์ ์ ์ผ๊ฐํ(C++) (0) | 2023.06.03 |
[ํ๋ก๊ทธ๋๋จธ์ค] level.3 - ์ผ๊ทผ ์ง์(C++) (0) | 2023.06.01 |
[ํ๋ก๊ทธ๋๋จธ์ค] level.3 - ์ต๊ณ ์ ์งํฉ(C++) (0) | 2023.05.31 |
[ํ๋ก๊ทธ๋๋จธ์ค] level.2 - ๊ทค ๊ณ ๋ฅด๊ธฐ(C++) (0) | 2023.05.30 |