元の質問リンク
質問の意味:
RとWで構成される文字列が与えられた場合、毎回RとWを交換し、少なくともすべてのRがWの前にくるように何回交換するかを尋ねることができます。
アイデア:
まず、RとWの数は固定されているので、最後はすべてWでなければなりません。
文字列に合計cntWがあるとすると、最後のcntビットのRの数が交換の数になります。
コード:
char s[maxn];
int main(){
int n=read();
cin>>s+1;
int num=0,res=0;
for(int i=1;i<=n;i++)
if(s[i]=='W') num++;
for(int i=n-num+1;i<=n;i++)
if(s[i]=='R') res++;
cout<<res<<endl;
return 0;
}