Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Duck duck groupby solution in Clear category for Changing direction by veky
from itertools import pairwise, groupby
def unique(elements):
for element, _ in groupby(elements):
yield element
def directions(elements):
for left, right in pairwise(elements):
yield (right > left) - (right < left)
def changes(directions):
for old, new in pairwise(directions):
yield old * new < 0
def changing_direction(elements: list) -> int:
return sum(changes(directions(unique(elements))))
Aug. 19, 2022
Comments: