https://school.programmers.co.kr/learn/courses/30/lessons/133499
별로 어렵지 않은 문제였으나..
또 또 문자열
그리고 예외처리 할 일이 많았고, (myea == x인데 o로 나올 수도 있음)
어떻게 처리해야 할지..
그냥 find로 찾아버리면 에러가 났다.
c++ string substr(int a, int b)
원하는 문자열을 반환해주는 함수
a 부터 a+b까지.
반환해주는 문자열은[a, a+b)
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
int solution(vector<string> babbling) {
int answer = 0;
for (auto& b : babbling) {
int i = 0;
int visited = -1;
bool bTrue = false;
while(i < b.length()) {
if (b.substr(i, 3) == "aya" && visited != 0) {
i += 3;
visited = 0;
}
else if (b.substr(i, 2) == "ye" && visited != 1) {
i += 2;
visited = 1;
}
else if (b.substr(i, 3) == "woo" && visited != 2) {
i += 3;
visited = 2;
}
else if (b.substr(i, 2) == "ma" && visited != 3) {
i += 2;
visited = 3;
}
else {
bTrue = true;
break;
}
}
if (!bTrue) {
answer += 1;
}
}
return answer;
}