给定一个由 n� 个小写字母构成的字符串。
现在,需要删掉其中的一些字母,使得字符串中不存在连续三个或三个以上的 x
。
请问,最少需要删掉多少个字母?
如果字符串本来就不存在连续的三个或三个以上 x
,则无需删掉任何字母。
输入格式
第一行包含整数 n�。
第二行包含一个长度为 n� 的由小写字母构成的字符串。
输出格式
输出最少需要删掉的字母个数。
数据范围
3≤n≤1003≤�≤100
输入样例1:
6
xxxiii
输出样例1:
1
输入样例2:
5
xxoxx
输出样例2:
0
输入样例3:
10
xxxxxxxxxx
输出样例3:
8
#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
string a;
cin>>n>>a;
int sum=0;
for(int i=0;i<n;i++){
if(a[i]=='x'){
int j=i+1;
while(j<n&&a[j]=='x')j++;
sum+=max(j-i-2,0);
i=j-1;
}
}
cout<<sum<<endl;
return 0;
}