aoc-2021/3_1.sh

33 lines
517 B
Bash
Executable File

#!/bin/bash
arr=()
gamma=''
epsilon=''
while read line; do
arr+=("$line")
done
for ((j=0; j<${#arr[0]}; j++)); do
zeroes=0
ones=0
for ((i=0; i<${#arr[@]}; i++)); do
if [[ "$(cut -c $((j+1)) <<< "${arr[$i]}")" == *"0"* ]]; then # lazy
zeroes=$((zeroes+1))
else
ones=$((ones+1))
fi
done
if [[ $zeroes -gt $ones ]]; then
gamma=${gamma}0
epsilon=${epsilon}1
else
gamma=${gamma}1
epsilon=${epsilon}0
fi
done
gamma_=$((2#$gamma))
epsilon_=$((2#$epsilon))
echo "result: $((gamma_*epsilon_))"