43 lines
738 B
Bash
Executable File
43 lines
738 B
Bash
Executable File
#!/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
|