first pass with demo input

This commit is contained in:
Tom Bloor 2024-12-05 00:56:14 +00:00
parent e5ddc08a5a
commit c037c07086
No known key found for this signature in database
GPG key ID: 8775E856E2754827
2 changed files with 70 additions and 0 deletions

6
day/01/demo_input.txt Normal file
View file

@ -0,0 +1,6 @@
3 4
4 3
2 5
1 3
3 9
3 3

64
day/01/part1.sh Executable file
View file

@ -0,0 +1,64 @@
#! /bin/bash
#set -x
FILE_IN="${1}"
left_list=()
right_list=()
while read -r l; do
echo "reading new line [$l]"
IFS=" "
read -ra line_split <<< "${l}"
unset IFS
echo "first number [${line_split[0]}]"
echo "second number [${line_split[1]}]"
left_list+=("${line_split[0]}")
right_list+=("${line_split[1]}")
done <"$FILE_IN"
echo "${left_list[@]}"
echo "${right_list[@]}"
if [[ ${#left_list[@]} -ne ${#right_list[@]} ]]; then
echo "arrays dont match, wtf?"
exit 1
else
echo "length of lists ${#left_list[@]}"
fi
echo "sorting time"
IFS=$'\n'
mapfile sorted_left_list <<<"$(sort <<<"${left_list[*]}")"
mapfile sorted_right_list <<<"$(sort <<<"${right_list[*]}")"
unset IFS
echo "${sorted_left_list[@]}"
echo "${sorted_right_list[@]}"
sorted_list_diff=()
echo "adding time"
for i in "${!sorted_left_list[@]}"; do
echo "left index: ${i} value: ${sorted_left_list[$i]}"
echo "right index: ${i} value: ${sorted_right_list[$i]}"
i_diff=$((${sorted_left_list[$i]}-${sorted_right_list[$i]}))
echo "diff ${i_diff}"
sorted_list_diff+=("${i_diff#-}")
done
echo "${sorted_list_diff[@]}"
final_out=0
for v in "${sorted_list_diff[@]}"; do
final_out=$((final_out + v))
done
echo "final output: ${final_out}"