[易趣]グレースケール-文字列を反転



🔦 質問する


マルチシスは、0と1のみからなる文字列Sを有する.多順はこの文字列Sのすべての数字を同じにしたいと思っています.マルチシスはSの連続する1つ以上の数字をつかんで、それからすべてひっくり返すことができます.反転は1を0に、0を1にすることを意味します.
例えば、S=0001100の場合、
全体的にひっくり返すと1110011です.
4文字目から5文字目を反転すると111111になり、2文字目ですべて同じ数字になります.
ただし、最初から4文字目から5文字目に文字を反転させると、1回に1億円に変換でき、1回目ですべて同じ数字に変換できます.
文字列Sが指定されている場合は、マルチシスが実行しなければならない最小操作回数を出力します.

入力


最初の行は文字列Sを与える.Sの長さは100万未満である.

しゅつりょく


最初の行は多順で行うべき最小限の行動回数を出力します.

▼▼▼▼草


  • 0を判別するグループ,1のグループの式を作成した.

  • 000111000110000なら0組が3個、1組が2個です.

  • 1組のみを0に変更した場合、答えは2になります.
  • 🛠 マイコード

    s = input()
    count_0 = 0
    count_1 = 0
    if s[0] == '0':
        temp ='0'
        count_0 =1
    if s[0] == '1':
        temp='1'
        count_1 =1
    
    for i in s[1:]:
        if i != temp:
            if i == '0':
                count_0 +=1
                temp = '0'
            if i == '1':
                count_1 +=1
                temp = '1'
    
    print(min(count_0,count_1))

    🎈 図書情報


    これは就職のためのコードテストです。