AtCoder ABC 145 B – Echo Python解説

スポンサーリンク

Echo

正整数 N 及び、長さ N の英小文字から成る文字列 S が与えられます。
この文字列が、ある文字列を二度繰り返したものであるかを判定してください。 則ち、文字列 T であって、 S = T + T となるものが存在するかを判定してください。

AtCoder Beginner Contest 「Echo」

文字列を二度繰り返したものかどうかを判定したいので、与えられた文字列を前半部分と後半部分に分け、互いに等しいかを見ていきたいと思います。

n = int(input()) // 2
s = input()

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

文字列の長さnを受け取る際に2で割っています。if文では文字列sをスライスで文字列の前半部分と後半部分に分けています。あとは文字列が一致すればYes、一致しなければNoを出力して完了です。