aoc

Advent of Code Solutions
git clone git://git.alexkarle.com.com/aoc
Log | Files | Refs | README | LICENSE

2.py (408B) [raw]


      1 #!/usr/bin/env python3
      2 import sys
      3 import re
      4 
      5 enabled =True
      6 t = 0
      7 r = re.compile('(?:do\(\)|don\'t\(\)|mul\((\d{1,3}),(\d{1,3})\))')
      8 
      9 for l in sys.stdin:
     10     for m in r.finditer(l):
     11         op = m.group(0).split("(")[0]
     12         if op == "do":
     13             enabled = True
     14         elif op == "don't":
     15             enabled = False
     16         elif enabled:
     17             t += int(m.group(1)) * int(m.group(2))
     18 
     19 print(t)