【ABC145 B】「Echo」を解く【Python3】

abc145b

「AtCoder」解説一覧へ

長さNの文字列Sが、ある文字列を二度繰り返したものであるかを判定する問題です。

文字列の長さが奇数の場合、無条件で「No」となります。

偶数の場合、文字列を「N/2」分割し、両者が等しいかどうかを判定します。

提出
n = int(input())
s = input()

half = n // 2

a = s[:half]
b = s[half:]

if a == b:
    print("Yes")
else:
    print("No")

演算子//は、切り捨て除算です。

スライス機能を用いて文字列を分割して判定しています。

上記の提出では、奇数の場合には「No」となるため、奇数の条件分岐は省略できます。

【ABC145】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です