From db1e4575c7b430e0a88dbbe51de5618919ad6d05 Mon Sep 17 00:00:00 2001 From: Clement Desmidt Date: Mon, 11 Dec 2023 14:43:47 +0100 Subject: [PATCH] :tada: Starts day 1 --- .gitignore | 1 + add | 19 +++++++++++++++++++ day_1/part_1.php | 12 ++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 .gitignore create mode 100755 add create mode 100644 day_1/part_1.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a09c56d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.idea diff --git a/add b/add new file mode 100755 index 0000000..df5c3ec --- /dev/null +++ b/add @@ -0,0 +1,19 @@ +#!/usr/bin/zsh + +SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +NUMBER=$1 + +if [ ! -d "${SCRIPT_PATH}/day_${NUMBER}" ]; then + mkdir "${SCRIPT_PATH}/day_${NUMBER}" +else + echo "folder ${SCRIPT_PATH}/day_${NUMBER} already exists" + exit +fi + +cd "${SCRIPT_PATH}/day_${NUMBER}" || exit + +touch input.txt part_1.php part_2.php + +echo "DONE" + +exit diff --git a/day_1/part_1.php b/day_1/part_1.php new file mode 100644 index 0000000..2888b91 --- /dev/null +++ b/day_1/part_1.php @@ -0,0 +1,12 @@ + !empty($line)); + +echo array_sum(array_map( + static function($line) { + $numbers = array_values(array_filter(array_map(static fn($letter) => is_numeric($letter) ? $letter : null, str_split($line)))); + + return (int) sprintf('%s%s', $numbers[0], array_pop($numbers)); + }, + $lines +));