### Communities

tag:snake search within a tag
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
created:<1w created < 1 week ago
post_type:xxxx type of post
Challenges

# Is it stuck in a counting loop?

+3
−0

Given a list of non-negative integers the function $f$ replaces every integer with the number of identical integers preceding it (not necessarily contiguously). So

f [1,1,2,2,1,3,3] = [1,2,1,2,3,1,2]


We will say that a list, $X$, is in a loop if there is some positive integer $n$ such that $f^n X = X$. That is, you can apply the function to $X$ some number of times to arrive at $X$.

Your task is to take a list as input and determine if that list is in a loop. You should output one of two consistent values, one if it is in a loop and the other if it is not.

This is code-golf. The goal is to minimize the size of your source code as measured in bytes.

A note: There are other ways to formulate this condition.

## Test cases

[2,2] -> False
[1,1] -> True
[1,2] -> True
[1,1,2,2,3,3] -> True
[1,2,3,1,4,2,5,3] -> True
[1,2,1,3,1,2] -> True
[1,2,1,3,1,3,4,6] -> False
[1,2,2,3] -> False

Why does this post require moderator attention?