题意:给定一个只含'<'和'>'的字符串,可以进行两种操作,一是保留'<',删除'<'左边的字符,二是保留'>',删除'>'右边的字符,如果能只进行一种操作而使字符串只剩下一个字符那就是Good String,问最少需要删除几个字符才能使字符串变成Good String。
题解:从前往后找'>',然后从后往前找'<',看哪个离边缘近,就输出离边缘还有多少另一个字符。
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
string s;
cin>>s;
int cnt=0;
int i=0,j=n-1;
for(;i<=n;i++)
{
if(i==n)
break;
if(s[i]=='>')
break;
}
for(;j>=-1;j--)
{
if(s[j]=='<')
break;
if(j==-1)
break;
}
if(i==0||j==n-1)
cout<<'0'<<endl;
else
cout<<min(i,n-j-1)<<endl;
}
return 0;
}