AtCoder ABC 198 B – Palindrome with leading zeros Python解説

2022年1月2日

スポンサーリンク

Palindrome with leading zeros

整数 N が与えられます。
N を十進法で表した文字列の先頭に 0 個以上の 0 をつけることで、回文にすることはできますか?

AtCoder Beginner Contest 「Palindrome with leading zeros」

文字列の入力は最大でも10 ^ 9なので、0の数を0 – 9個まで先頭に付けて回文になっているかどうか確認すれば大丈夫です。その他にも、文字列の末尾から0を取り除いていたものが回文になっていれば、回文かどうか判定することができます。

n = input()

for i in range(10):
    s = "0" * i + n
    if s == s[::-1]:
        print("Yes")
        break
else:
    print("No")

for文で0を足していきます。s == s[::-1]で回文になっているか判定できます。文字列が回文になればYesを出力、回文にならなければNoを出力して完了です。

n = input().rstrip("0")

if n == n[::-1]:
    print("Yes")
else:
    print("No")

0を取り除く場合はrstripを使うことで文字列の右側から0を取り除くことができます。

AtCoderB問題

Posted by cheese