From 6b733982f9f240c1c97f1fa705bfbe4cd93c640e Mon Sep 17 00:00:00 2001 From: mhsn Date: Fri, 12 Sep 2025 20:20:58 +0100 Subject: simplify python file structure --- 2024/02/python.py | 24 ++++++++++++++++++++++++ 2024/02/python/main.py | 22 ---------------------- 2024/02/python/pyproject.toml | 6 ------ 3 files changed, 24 insertions(+), 28 deletions(-) create mode 100755 2024/02/python.py delete mode 100644 2024/02/python/main.py delete mode 100644 2024/02/python/pyproject.toml (limited to '2024/02') diff --git a/2024/02/python.py b/2024/02/python.py new file mode 100755 index 0000000..f2c807d --- /dev/null +++ b/2024/02/python.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +from fileinput import input + +reports = [[int(level) for level in report.split()] for report in input()] + + +def incr(xs): + return all(x < y and y - x <= 3 for x, y in zip(xs, xs[1:])) + + +def safe(xs): + return incr(xs) or incr(xs[::-1]) + + +def drops(xs): + return (xs[:idx] + xs[idx + 1 :] for idx, _ in enumerate(xs)) + + +silver = sum(safe(rep) for rep in reports) +gold = sum(any(safe(mod) for mod in drops(rep)) for rep in reports) + +print("silver:", silver) +print("gold:", gold) diff --git a/2024/02/python/main.py b/2024/02/python/main.py deleted file mode 100644 index b4c8c9a..0000000 --- a/2024/02/python/main.py +++ /dev/null @@ -1,22 +0,0 @@ -from fileinput import input - -reports = [[int(level) for level in report.split()] for report in input()] - - -def incr(xs): - return all(x < y and y - x <= 3 for x, y in zip(xs, xs[1:])) - - -def safe(xs): - return incr(xs) or incr(xs[::-1]) - - -def drops(xs): - return (xs[:idx] + xs[idx + 1 :] for idx, _ in enumerate(xs)) - - -silver = sum(safe(rep) for rep in reports) -gold = sum(any(safe(mod) for mod in drops(rep)) for rep in reports) - -print("silver:", silver) -print("gold:", gold) diff --git a/2024/02/python/pyproject.toml b/2024/02/python/pyproject.toml deleted file mode 100644 index 7344524..0000000 --- a/2024/02/python/pyproject.toml +++ /dev/null @@ -1,6 +0,0 @@ -[project] -name = "aoc-2024-02" -version = "0.1.0" -description = "advent of code 2024-02" -requires-python = ">=3.13" -dependencies = [] -- cgit v1.2.3