import re from solutions import BaseSolution class Solution(BaseSolution): input_file = "09.txt" def __str__(self): return "Day 9: Stream Processing" def solve(self, puzzle_input): level = 0 groups = [] stream = re.sub(r"!.", "", puzzle_input) stream = re.sub(r"<[^>]*>", "", stream) for c in stream: if c == "{": level += 1 if c == "}": groups.append(level) level -= 1 return sum(groups) def solve_again(self, puzzle_input): stream = re.sub(r"!.", "", puzzle_input) garbage = re.findall(r"<([^>]*)>", stream) return sum([len(g) for g in garbage]) if __name__ == "__main__": solution = Solution() solution.show_results()