diff --git a/2024/3/2.py b/2024/3/2.py new file mode 100644 index 0000000..b7bc861 --- /dev/null +++ b/2024/3/2.py @@ -0,0 +1,24 @@ +from puzzle1 import process_line as process_line_dumb + + +def has_do_or_dont(line): + return "do()" in line or "don't()" in line + +def process_string(string):#, enabled: bool): + result = 0 + + do_lines = string.split("do()") + for do_line in do_lines: + good_line = do_line.split("don't()")[0] + result += process_line_dumb(good_line) + + return result + +if __name__ == "__main__": + #result = 0 + with open("input", "r") as fp: + full_string = fp.read() +# while (line := fp.readline()): + result = process_string(full_string) + + print(f"The sum of all multiplications equals {result}.") diff --git a/2024/3/__pycache__/puzzle1.cpython-312.pyc b/2024/3/__pycache__/puzzle1.cpython-312.pyc new file mode 100644 index 0000000..47be1c6 Binary files /dev/null and b/2024/3/__pycache__/puzzle1.cpython-312.pyc differ diff --git a/2024/3/1.py b/2024/3/puzzle1.py similarity index 55% rename from 2024/3/1.py rename to 2024/3/puzzle1.py index 76565da..4d5984c 100644 --- a/2024/3/1.py +++ b/2024/3/puzzle1.py @@ -9,9 +9,10 @@ def process_line(line): #test = "xmul(2,4)%&mul[3,7]!@^do_not_mul(5,5)+mul(32,64]then(mul(11,8)mul(8,5))" -result = 0 -with open("input", "r") as fp: - while (line := fp.readline()): - result += process_line(line) +if __name__ == "__main__": + result = 0 + with open("input", "r") as fp: + while (line := fp.readline()): + result += process_line(line) -print(f"The sum of all multiplications equals {result}.") + print(f"The sum of all multiplications equals {result}.")