Files
adventofcode/2015/day-16/solution.py
2016-12-01 11:25:19 +01:00

47 lines
1.1 KiB
Python

from __future__ import print_function
import re
import fileinput
correctAunt = {
"children": 3,
"cats": 7,
"samoyeds": 2,
"pomeranians": 3,
"akitas": 0,
"vizslas": 0,
"goldfish": 5,
"trees": 3,
"cars": 2,
"perfumes": 1
}
def isOK(auntString):
for thing, value in re.findall(r"([a-z]+): (\d+)", line):
if correctAunt[thing] != int(value):
return False
return True
def isOK2(auntString):
for thing, value in re.findall(r"([a-z]+): (\d+)", line):
if thing == "cats" or thing == "trees":
if int(value) <= correctAunt[thing]:
return False
elif thing == "pomeranians" or thing == "goldfish":
if int(value) >= correctAunt[thing]:
return False
elif correctAunt[thing] != int(value):
return False
return True
for line in fileinput.input():
if isOK(line):
print("Found aunt first:", line)
if isOK2(line):
print("Found aunt second:", line)