From 8114113a2e71110dc3c7b2dcfd9f0eb4f48c9395 Mon Sep 17 00:00:00 2001 From: Pierre Jeanjean Date: Mon, 6 Dec 2021 09:28:48 +0100 Subject: [PATCH] Day 6 --- 06/01.sh | 17 +++++++++++++++++ 06/02.sh | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 06/01.sh create mode 100755 06/02.sh diff --git a/06/01.sh b/06/01.sh new file mode 100755 index 0000000..c78c6a0 --- /dev/null +++ b/06/01.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +read line + +anglerfishes=( ${line//,/ } ) +for i in $(seq 80); do + new_anglerfishes=() + for j in $(seq ${#anglerfishes[@]}); do + if [ ${anglerfishes[$((j-1))]} -eq 0 ]; then + anglerfishes[$((j-1))]=7 + new_anglerfishes+=( 8 ) + fi + anglerfishes[$((j-1))]=$((anglerfishes[j-1]-1)) + done + anglerfishes+=("${new_anglerfishes[@]}") +done +echo ${#anglerfishes[@]} diff --git a/06/02.sh b/06/02.sh new file mode 100755 index 0000000..29b7c9e --- /dev/null +++ b/06/02.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +read line + +anglerfishes=( ${line//,/ } ) +new_anglerfishes=(0 0 0 0 0 0 0 0 0) +for i in $(seq ${#anglerfishes[@]}); do + new_anglerfishes[${anglerfishes[$((i-1))]}]=$((new_anglerfishes[anglerfishes[i-1]]+1)) +done +anglerfishes=( "${new_anglerfishes[@]}" ) +for i in $(seq 256); do + new_anglerfishes=(0 0 0 0 0 0 0 0 0) + for j in $(seq 2 9); do + new_anglerfishes[$((j-2))]=${anglerfishes[$((j-1))]} + done + new_anglerfishes[6]=$((anglerfishes[0]+new_anglerfishes[6])) + new_anglerfishes[8]=$((anglerfishes[0]+new_anglerfishes[8])) + anglerfishes=( "${new_anglerfishes[@]}" ) +done +total_anglerfishes=$(sed 's/ /+/g' <<< "${anglerfishes[@]}") +echo $((total_anglerfishes))