Day 7
[advent-of-code-2021.git] / day07 / crabs.sh
diff --git a/day07/crabs.sh b/day07/crabs.sh
new file mode 100755 (executable)
index 0000000..fbe25e2
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+set -u
+
+filename="${1:-example.txt}"
+
+exec 3<"$filename"
+
+OLDIFS="$IFS"
+IFS=","
+read -u 3 -a crabs
+
+IFS=$'\n'
+crabs=($(sort -n <<<"${crabs[*]}"))
+
+mid_point=$((${#crabs[@]} / 2))
+mid_val=${crabs[$mid_point]}
+
+fuel=0
+
+for (( a=0; a<${#crabs[@]}; a++ )); do
+    diff=$((mid_val-${crabs[$a]}))
+    diff=${diff#-}
+    ((fuel+=$diff))
+done
+
+echo "Fuel needed: $fuel"