30 lines
708 B
Python
30 lines
708 B
Python
![]() |
#!/usr/bin/env python
|
||
|
|
||
|
import re
|
||
|
|
||
|
def read_input(filename):
|
||
|
with open(filename) as f:
|
||
|
for line in f:
|
||
|
line = line.strip()
|
||
|
yield line
|
||
|
|
||
|
def main(args):
|
||
|
memory = read_input(args.file)
|
||
|
|
||
|
result = 0
|
||
|
for memory in read_input(args.file):
|
||
|
mul_list = re.findall(r'mul\((\d+)\,(\d+)\)', memory)
|
||
|
for mul in mul_list:
|
||
|
x = int(mul[0]) * int(mul[1])
|
||
|
result += x
|
||
|
print(result)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
import argparse
|
||
|
|
||
|
parser = argparse.ArgumentParser(
|
||
|
prog='AdventOfCode 2024, Day 03, part 1',
|
||
|
)
|
||
|
parser.add_argument('-f', '--file', required=True)
|
||
|
args = parser.parse_args()
|
||
|
main(args)
|