AtCoder ABC 103 B – String Rotation Python解説

スポンサーリンク

String Rotation

英小文字からなる文字列 ST が与えられます。

S を回転させて T に一致させられるか判定してください。

AtCoder Beginner Contest 「String Rotation」

文字列SとTが与えられ、文字列Sを回転させ文字列Tと一致するかを判定します。
ここでいう回転とは、文字列の一番右端にある文字を左端にもっていくことです。

例えばABCDEという文字列を回転させると、一回転目でEABCD、2回転目でDEABCという文字列になるので、あとはこの回転を文字列数分行って文字列Tと一致するかをチェックすればよいでしょう。

s = input()
t = input()

for _ in range(len(s)):
    s = s[-1] + s[: -1]
    if s == t:
        print("Yes")
        break
else:
    print("No")

 

文字列の一番右端にある文字を左端にもっていくにはスライスを使えばよいでしょう。
文字列に対し[-1]で一番右端の文字が取得できます。右端以外の文字列は[: -1]で取得できるので、両方を足して文字列Tと一致するか確認しましょう。