+ day 3
parent
f8ae840a05
commit
5ba8af548c
|
@ -0,0 +1,32 @@
|
|||
#!/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_))"
|
|
@ -0,0 +1,49 @@
|
|||
#!/bin/bash
|
||||
yarr=()
|
||||
arr_=()
|
||||
zeroes=0
|
||||
ones=0
|
||||
|
||||
while read line; do
|
||||
yarr+=("$line")
|
||||
done
|
||||
|
||||
function asdf() {
|
||||
arr=(${yarr[@]})
|
||||
for ((i=0; i<${#arr[0]}; i++)); do
|
||||
for ((j=0; j<${#arr[@]}; j++)); do
|
||||
if [[ $(cut -c$((i+1)) <<< "${arr[$j]}") == 0 ]]; then
|
||||
zeroes=$((zeroes+1))
|
||||
else
|
||||
ones=$((ones+1))
|
||||
fi
|
||||
done
|
||||
if [[ $zeroes -lt $ones && $1 == 1 || $zeroes == $ones && $1 == 1 ]] || \
|
||||
[[ $zeroes -gt $ones && $1 == 0 ]]; then
|
||||
for ((j=0; j<${#arr[@]}; j++)); do
|
||||
[[ $(cut -c$((i+1)) <<< "${arr[$j]}") == "0" ]] && arr_+=("${arr[$j]}")
|
||||
done
|
||||
else
|
||||
for ((j=0; j<${#arr[@]}; j++)); do
|
||||
[[ $(cut -c$((i+1)) <<< "${arr[$j]}") == "1" ]] && arr_+=("${arr[$j]}")
|
||||
done
|
||||
fi
|
||||
arr=(${arr_[@]})
|
||||
arr_=()
|
||||
|
||||
if [[ "${#arr[@]}" == 1 ]]; then
|
||||
break
|
||||
fi
|
||||
zeroes=0
|
||||
ones=0
|
||||
done
|
||||
}
|
||||
|
||||
asdf 0
|
||||
echo 0: ${arr[0]}
|
||||
uwu=${arr[0]}
|
||||
asdf 1
|
||||
owo=${arr[0]}
|
||||
echo 1: ${arr[0]}
|
||||
|
||||
echo $((2#$uwu*2#$owo))
|
Loading…
Reference in New Issue