AdventOfCode/2017/09/solution.py

47 lines
1.4 KiB
Python

#!/bin/python3
import sys,re
from pprint import pprint
input_f = 'input'
part = 2
#########################################
# #
# Part 1 #
# #
#########################################
if part == 1:
with open(input_f) as file:
for line in file:
clean_string = re.sub(r"!.", "", line.rstrip())
clean_string = re.sub(r"<.*?>", "", clean_string)
clean_string = re.sub(r",", "", clean_string)
level = 0
numbers = []
for i in clean_string:
if i == '{':
level += 1
if i == '}':
numbers.append(level)
level -= 1
print(sum(numbers))
#########################################
# #
# Part 2 #
# #
#########################################
if part == 2:
with open(input_f) as file:
for line in file:
#print(line.rstrip(), end=' ')
length = 0
clean_string = line.rstrip()
clean_string = re.sub(r"!.",'',clean_string)
clean_string = re.findall(r"<(.*?)>", clean_string)
for i in clean_string:
length += len(i)
print(length)