[易趣]グレースケール-文字列を反転
🔦 質問する
マルチシスは、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))
🎈 図書情報
これは就職のためのコードテストです。
Reference
この問題について([易趣]グレースケール-文字列を反転), 我々は、より多くの情報をここで見つけました https://velog.io/@choison/이코테-그리디-문자열-뒤집기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol