Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
One-liner solution in Clear category for Rotate Hole by obone
def rotate(state, pipe_numbers):
'''
rotate = lambda s, n: s[-n:] + s[:-n]
pipe_numbers = set(pipe_numbers)
result = []
for n in range(len(state)):
rotation = rotate(state, n)
step = [rotation[i] for i in pipe_numbers]
if sum(step) == len(pipe_numbers):
result.append(n)
return result
'''
return [n for n in range(len(state)) \
if sum((state[-n:] + state[:-n])[i] for i in set(pipe_numbers)) == len(set(pipe_numbers))]
July 7, 2019