advent-of-code/2017-python/solutions/day_09.py
2021-11-01 16:45:03 +01:00

33 lines
805 B
Python

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()