from typing import Iterator, List from aoc import BaseAssignment class Assignment(BaseAssignment): def parse_item(self, item: str) -> int: return int(item) def read_input(self, example = False) -> List[int]: return list(super().read_input(example)) class AssignmentOne(Assignment): def run(self, input: List) -> int: result = 0 for i in range(1, len(input)): result += 1 if input[i - 1] < input[i] else 0 return result class AssignmentTwo(Assignment): def run(self, input: List) -> int: new_input = [ input[i - 2] + input[i - 1] + input[i] for i in range(2, len(input)) ] return AssignmentOne(path='').run(new_input)