白駿1439.反転-解答(Python/Python)


🔎 1439番です.質問の表示
https://www.acmicpc.net/problem/1439

💡 問題を解く前に
1からなるペアの数と0からなるペアの数を求める.
二人の中でより少ないペアを反転する回数を答えとして出力すればいいのです!!
📋 コードの表示
from sys import stdin

nums = list(map(int, stdin.readline().rstrip()))
zero = 0
one = 0

for i in range(1, len(nums)):
    if nums[i] - nums[i - 1] == 1:
        one += 1
    elif nums[i] - nums[i - 1] == -1:
        zero += 1

print(one) if one > zero else print(zero)
🥕 コード解釈と関連概念

問題を解く構想.


そんなに難しい問題はありません.
入力数の長さでfor文を回転させ、nums[i]とnums[i-1]を比較します.
文は1から始まるからです.
「0~1」または「1~0」の2つのケースがあります.
nums[i] - nums[i - 1] == 1   #이건 0이 끝나고 1이 시작될 때
nums[i] - nums[i - 1] == -1  #이건 1이 끝나고 0이 시작될 때
場合によっては、予め作成したoneとzeroに+1を加算します.
最後にoneとzeroの出力より大きい数を比較します.