C - Stones(Tenka1 Programmer Beginner Contest 2019)

問題

atcoder.jp

感想

やらかした。愚直に見ていこうとしてしまいちゃんとテストケースで落とされた。

解法

明らかに足りなかった考慮が完成形が決まっていること。つまりは....####や#####、.....という左側に白、そこから右側に黒がある(もしくはどちらか単色しかない)場合しか条件を満たさない。
なので、今回は最小の変更数を求めたいので左側の黒の数と右側の白の数を保持しながら合計値の小さいものを求めればok

まとめ

「完成形から考える」という視点。ほかの問題でもあるのでそういった視点で見れるようになるのも大事。