AtCoder ABC 066 B – ss Python解説
ss
同じ文字列を 2 つ並べてできる文字列のことを偶文字列と呼ぶことにします。 例えば、
xyzxyz
やaaaaaa
は偶文字列ですが、ababab
やxyzxy
は偶文字列ではありません。アルファベットの小文字からなる偶文字列 S が与えられます。 S の末尾の文字を 1 文字以上消して作れる偶文字列のうち、最も長い偶文字列の長さを求めて下さい。 与えられる入力では、条件を満たす 1 文字以上の文字列が存在することが保証されています。
AtCoder株式会社 AtCoder Beginner Contest 066
今回のコードを書く上で必要なのが、末尾の文字を消す方法。これはスライスを使って実装します。2つ目に、偶文字列になっているかのチェック。もし文字列が一緒なら文字列の長さを出力します。
s = input()
for _ in range(len(s)):
s = s[: -1]
if s[: len(s) // 2] == s[len(s)// 2: ]:
print(len(s))
break