+++ /dev/null
-#!/bin/bash
-
-set -u
-set -e
-
-declare -a group_questions
-
-parse_file() {
- exec 3<input.txt
- declare -A questions
- people_in_group=0
- while read -u 3 line; do
- #remove new lines
- line=${line//$'\r'//}
- line=${line//$'\n'//}
- if [ "$line" == "" ]; then
- question_string=""
- for key in "${!questions[@]}"; do
- if [ $people_in_group -eq ${questions[$key]} ]; then
- question_string+="${key}"
- fi
- done
- group_questions+=($question_string)
- unset questions
- declare -A questions
- people_in_group=0
- continue
- fi
- people_in_group=$((people_in_group+1))
- # go through each character of line
- for (( a=0; a<${#line}; a++ )); do
- question=${line:$a:1}
- if [ ${questions["$question"]+a} ]; then
- questions["$question"]=$((${questions["$question"]}+1))
- else
- questions["$question"]=1
- fi
- done
- done
-
- # last line was hit, so we need to process that too
- question_string=""
- for key in "${!questions[@]}"; do
- if [ $people_in_group -eq ${questions[$key]} ]; then
- question_string+="${key}"
- fi
- done
- group_questions+=($question_string)
- unset questions
-}
-
-parse_file
-
-sum_of_groups=0
-for group in "${group_questions[@]}"; do
- sum_of_groups=$((sum_of_groups+${#group}))
-done
-
-echo "Sum of groups: $sum_of_groups"