[프로그래머스 C++] 스킬트리
[프로그래머스 C++] 스킬트리
https://school.programmers.co.kr/learn/courses/30/lessons/49993#fnref1
해결전략
문자열
코드
#include <string>
#include <vector>
using namespace std;
vector<int> order; // 스킬트리에 스킬 문자가 들어간 순서를 기록하는 배열. 스킬트리 마다 검사하고 검사 후에는 초기화한다.
int solution(string skill, vector<string> skt) {
int answer = 0;
for(int i=0; i<skt.size(); i++){
for(int j=0; j<skt[i].size(); j++){
for(int k=0; k<skill.size(); k++){
if (skt[i][j] == skill[k]) // 스킬 문자를 찾으면
order.push_back(k); // order 배열에 넣어준다. 0, 1, 2, 3, ... 순서로 값이 들어간다.
}
}
if(order.size() != 0) // 스킬 문자를 하나 이상 포함하고 있다면
{
// 스킬 문자가 순서대로 들어갔는지 검사
// 제대로 들어갔으면 order[0]=0, order[1]=1, order[2]=2, ...
for (int t = 0; t < order.size(); t++) {
if (order[t] != t) // 스킬 문자가 순서대로 들어가지 않았다면
break; // break로 빠져나온다.
if (t == order.size() - 1) // order배열 끝까지 검사했을때 순서대로면 answer 증가
answer++;
}
}
else // 스킬 문자가 하나도 없는 경우
{
answer++; // 문제가 되는 경우가 없으므로 answer 증가
}
order.clear(); // 다음 검사를 위해 order 배열 초기화
}
return answer;
}
'⭐ 코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 C++] 더 맵게 (0) | 2023.10.18 |
---|---|
[프로그래머스 C++] 섬 연결하기 (0) | 2023.10.18 |
[프로그래머스 C++] 모음사전 (0) | 2023.10.14 |
[프로그래머스 C++] 땅따먹기 (0) | 2023.10.13 |
[프로그래머스 C++] 방문 길이 (0) | 2023.10.12 |
댓글
이 글 공유하기
다른 글
-
[프로그래머스 C++] 더 맵게
[프로그래머스 C++] 더 맵게
2023.10.18 -
[프로그래머스 C++] 섬 연결하기
[프로그래머스 C++] 섬 연결하기
2023.10.18 -
[프로그래머스 C++] 모음사전
[프로그래머스 C++] 모음사전
2023.10.14 -
[프로그래머스 C++] 땅따먹기
[프로그래머스 C++] 땅따먹기
2023.10.13