Day 1 Problem 1

This commit is contained in:
Abdulkadir Furkan Şanlı 2023-12-01 17:22:16 +01:00
parent b0877a7d95
commit 4be283b81e
No known key found for this signature in database
4 changed files with 1069 additions and 0 deletions

1000
1/1/input.txt Normal file

File diff suppressed because it is too large Load Diff

42
1/1/puzzle.txt Normal file
View File

@ -0,0 +1,42 @@
--- Day 1: Trebuchet?! ---
Something is wrong with global snow production, and you've been selected to take
a look. The Elves have even given you a map; on it, they've used stars to mark
the top fifty locations that are likely to be having problems.
You've been doing this long enough to know that to restore snow operations, you
need to check all fifty stars by December 25th.
Collect stars by solving puzzles. Two puzzles will be made available on each day
in the Advent calendar; the second puzzle is unlocked when you complete the
first. Each puzzle grants one star. Good luck!
You try to ask why they can't just use a weather machine ("not powerful enough")
and where they're even sending you ("the sky") and why your map looks mostly
blank ("you sure ask a lot of questions") and hang on did you just say the sky
("of course, where do you think snow comes from") when you realize that the
Elves are already loading you into a trebuchet ("please hold still, we need to
strap you in").
As they're making the final adjustments, they discover that their calibration
document (your puzzle input) has been amended by a very young Elf who was
apparently just excited to show off her art skills. Consequently, the Elves are
having trouble reading the values on the document.
The newly-improved calibration document consists of lines of text; each line
originally contained a specific calibration value that the Elves now need to
recover. On each line, the calibration value can be found by combining the first
digit and the last digit (in that order) to form a single two-digit number.
For example:
1abc2
pqr3stu8vwx
a1b2c3d4e5f
treb7uchet
In this example, the calibration values of these four lines are 12, 38, 15, and
77. Adding these together produces 142.
Consider your entire calibration document. What is the sum of all of the
calibration values?

26
1/1/solution.sh Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
if [[ "${TRACE-0}" == "1" ]]; then
set -o xtrace
fi
cd "$(dirname "$0")"
main ()
{
declare -a components
declare -i result=0
while read -r line; do
mapfile -t matches <<< "$(grep -o '[[:digit:]]' <<< "${line}")"
components+=("${matches[0]}${matches[-1]}")
done < input.txt
for value in "${components[@]}"; do
(( result += value ))
done
echo "${result}"
}
main

1
README.md Normal file
View File

@ -0,0 +1 @@
This is my attempt at Advent of Code 2023 in Bash.