Python3で解く AtCoder Beginner Contest 143 C - Slimes
同じ文字をグループとして捉えてその切れ目を数える
概要
- 文字列が与えられる。
- 例えばaabbbbaacaであれば、[aa][bbb][aa][c][a]のように隣接する文字が同じ場合は一つのグループとする。(問題的にはスライム)
- 最終的にグループの数は?
解くときに考えた内容
- 順に見ていって異なる文字の切れ目のカウントをすればいいのでは?
- 左から2文字から見ていって、一つ手前単純に手前の文字と同じかどうかをチェックして、異なるならカウント、異ならないなら次の文字をみる。とすればいい
コード
def main(): n = int(input()) s = list(input()) cnt = 1 for i in range(1, n): if s[i] == s[i-1]: continue else: cnt += 1 print(cnt) if __name__ == '__main__': main()