文字列 SS11 文字目から順番に次の作業を行います。

  • ① 文字列の ii 番目 を調べます。
  • i1i-1 番目、 i+1i+1 番目がどちらも o であれば ii 番目の文字を x にします。 ここで、文字列の 00 番目・N+1N+1 番目は o とみなします。

② を行うことができた回数を出力します。

なお、if( A || B ) のような if 文は AB の順番に判別するため、 ATrue となった時点で B の判別はスキップされます。

#include <stdio.h>
int main(void){
    int N;  scanf(" %d", &N);
    char S[N+1];  scanf(" %s", S);
    
    int ans=0;
    for(int i=0; i<N; i++){
        if(S[i] == 'o'){
            if((i-1<0 || S[i-1]=='o') && (N-1<i+1 || S[i+1]=='o')){
                ans++;
                S[i] = 'x';
            }
        }
    }
    
    printf("%d\n", ans);
}