day 22/part 1: cleanup bash code, remove a loop
This commit is contained in:
@@ -19,24 +19,21 @@ while read -r line; do
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# shellcheck disable=SC2206
|
# shellcheck disable=SC2206
|
||||||
CARDS1=(${cards[0]});
|
CARDS1=(${cards[0]}) && CARDS2=(${cards[1]})
|
||||||
# shellcheck disable=SC2206
|
|
||||||
CARDS2=(${cards[1]})
|
while ((${#CARDS1[@]} && ${#CARDS2[@]})); do
|
||||||
while ((${#CARDS1[@]} > 0 && ${#CARDS2[@]})); do
|
|
||||||
# shellcheck disable=SC2128
|
# shellcheck disable=SC2128
|
||||||
((CARDS1 > CARDS2)) && CARDS1+=("$CARDS1" "$CARDS2") || CARDS2+=("$CARDS2" "$CARDS1")
|
((CARDS1 > CARDS2)) && CARDS1+=("$CARDS1" "$CARDS2") || CARDS2+=("$CARDS2" "$CARDS1")
|
||||||
CARDS1=("${CARDS1[@]:1}")
|
CARDS1=("${CARDS1[@]:1}")
|
||||||
CARDS2=("${CARDS2[@]:1}")
|
CARDS2=("${CARDS2[@]:1}")
|
||||||
done
|
done
|
||||||
cards=()
|
|
||||||
|
declare -i n=$((${#CARDS1[@]}+${#CARDS2[@]})) res=0 i
|
||||||
|
|
||||||
for i in "${CARDS1[@]}" "${CARDS2[@]}"; do
|
for i in "${CARDS1[@]}" "${CARDS2[@]}"; do
|
||||||
cards=("$i" "${cards[@]}")
|
((res+=n*i, n--))
|
||||||
done
|
|
||||||
n=1
|
|
||||||
res=0
|
|
||||||
for i in "${cards[@]}"; do
|
|
||||||
((res+=n*i, n++))
|
|
||||||
done
|
done
|
||||||
printf "%s: res=%d\n" "$CMD" "$res"
|
printf "%s: res=%d\n" "$CMD" "$res"
|
||||||
exit 0
|
exit 0
|
||||||
|
Reference in New Issue
Block a user