diff options
Diffstat (limited to '2024/03/python.py')
-rwxr-xr-x | 2024/03/python.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/2024/03/python.py b/2024/03/python.py new file mode 100755 index 0000000..f456580 --- /dev/null +++ b/2024/03/python.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 + +import re +from fileinput import input + +s = "\n".join(input()) + +silver = sum(int(x) * int(y) for x, y in re.findall(r"mul\((\d{1,3}),(\d{1,3})\)", s)) + +gold = 0 +active = True +for g in re.findall(r"(?:mul\((\d{1,3}),(\d{1,3})\))|(don't\(\))|(do\(\))", s): + match g, active: + case (x, y, "", ""), True: + gold += int(x) * int(y) + case (_, _, "don't()", _), _: + active = False + case (_, _, _, "do()"), _: + active = True + + +print("silver:", silver) +print("gold:", gold) |