X-Git-Url: https://git.sommitrealweird.co.uk/advent-of-code-2021.git/blobdiff_plain/c4b0490df9ba6212d7ac6caebbc56ae128d73d92..906deb084f4fca89ba25da7157ed7a69fa0878d5:/day06/lanternfish2.sh diff --git a/day06/lanternfish2.sh b/day06/lanternfish2.sh new file mode 100755 index 0000000..924ac46 --- /dev/null +++ b/day06/lanternfish2.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -u +set -e + +declare -a fish + +filename="${1:-example.txt}" + +exec 3<"$filename" + +OLDIFS="$IFS" +IFS="," +read -u 3 -a fish +IFS="$OLDIFS" + +buckets=(0 0 0 0 0 0 0 0 0) + +for f in "${fish[@]}"; do + ((buckets[$f]+=1)) +done + +for (( d=1; d<=256; d++ )); do + orig_zeros=${buckets[0]} + for (( i=1; i<=8; i++ )); do + temp=${buckets[$i]} + ((buckets[$((i-1))]+=$temp)) || true + buckets[$i]=0 + done + ((buckets[8]+=$orig_zeros)) || true + ((buckets[6]+=$orig_zeros)) || true + ((buckets[0]-=$orig_zeros)) || buckets[0]=0 +done + +count=0 +for (( i=0; i<=8; i++ )); do + ((count+=${buckets[$i]})) +done + +echo "After 256 days there are $count fish"