AtCoder Beginner Contest 136 D - Gathering Children【Python】

https://atcoder.jp/contests/abc136/tasks/abc136_d

AtCoder ProblemsでDifficulty: 794、Solve Probability: 30%でした。

解けませんでした。
10**100回後の移動なので偶数マス離れたところにしか行けないという考え方は勉強になりました。

コードは以下のブログを参考にしました。
nemurin-blog.hatenablog.com

S = input()

ans = [0] * len(S)
right = 0
for i in range(len(S)-1):
    if S[i] == "R" and S[i+1] == "R":
        ans[i] = 0
        right += 1

    if S[i] == "R" and S[i+1] == "L":
        ans[i] = right // 2 + 1
        ans[i+1] = right // 2 + right % 2 + 1
        right = 0

left = 0
for i in range(len(S)-1, -1, -1):
    if S[i-1] == "L" and S[i] == "L":
        ans[i] = 0
        left += 1

    if S[i-1] == "R" and S[i] == "L":
        ans[i-1] += left // 2 + left % 2
        ans[i] += left // 2
        left = 0

print(*ans)