gotutiyan’s blog

競技プログラミングをやったりopenframeworksでお絵かきをしたりしています。

CodeForces 266A Stones on the Table 解説

・問題
Problem - 266A - Codeforces

R,G,Bの3色の石が一列に並んで居るので、これを同じ色が隣合わないようにする時、取る必要がある石の最小値を求めよう。

・解説
色が隣合わないようにするので、隣り合っていれば取って行けば良い。
文字列を前から見ながら、i番目とi+1番目が同じであれば隣り合っているので、ansを増やす。最終的なansの値が答えになる。

int main(){
    int n;
    cin>>n;
    string s;
    cin>>s;
    int ans=0;
    rep(i,0,s.length()-1){
        if(s[i]==s[i+1])ans++;
    }
    cout<<ans<<endl;
    
    return 0;
}