Day 10
This commit is contained in:
42
10/01.sh
Executable file
42
10/01.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
score=0
|
||||
while read line; do
|
||||
chars=( $(sed 's/\(.\)/\1 /g' <<< $line) )
|
||||
opened_chars=()
|
||||
for char in ${chars[@]}; do
|
||||
case $char in
|
||||
'('|'['|'{'|'<')
|
||||
opened_chars+=( $char );;
|
||||
')')
|
||||
if [ ${opened_chars[-1]} = '(' ]; then
|
||||
unset 'opened_chars[-1]'
|
||||
else
|
||||
score=$((score+3))
|
||||
break
|
||||
fi;;
|
||||
']')
|
||||
if [ ${opened_chars[-1]} = '[' ]; then
|
||||
unset 'opened_chars[-1]'
|
||||
else
|
||||
score=$((score+57))
|
||||
break
|
||||
fi;;
|
||||
'}')
|
||||
if [ ${opened_chars[-1]} = '{' ]; then
|
||||
unset 'opened_chars[-1]'
|
||||
else
|
||||
score=$((score+1197))
|
||||
break
|
||||
fi;;
|
||||
'>')
|
||||
if [ ${opened_chars[-1]} = '<' ]; then
|
||||
unset 'opened_chars[-1]'
|
||||
else
|
||||
score=$((score+25137))
|
||||
break
|
||||
fi;;
|
||||
esac
|
||||
done
|
||||
done
|
||||
echo $score
|
||||
Reference in New Issue
Block a user