MENU

Advent of Code Day 2

So far so good. Finding invalid id’s (sequences of repeated numbers, eg. 123123) using brute force and awkward string manipulation.

Remembered that “awkward string manipulation” is usually a good flag for regex. Fired up my regex generator (AKA ChatGPT). Boom. Done.

def getInvalidIdSum(rangeBounds, part2Flag):
  invalidIdSum = 0
  for id in range(int(rangeBounds[0]), int(rangeBounds[1]) + 1):
    if (re.fullmatch(r"^(\d+)\1+$" if part2Flag else r"^(.+?)\1$", str(id))):
      invalidIdSum += int(str(id))
  return invalidIdSum

Leave a Reply

Your email address will not be published. Required fields are marked *