package main import ( "AoC2020/helper" "fmt" "os" "strings" ) func main() { args := os.Args[1:] input, err := helper.GetFile(args[0]) if err != nil { fmt.Println(err) } groups := strings.Split(input, "\n\n") fmt.Println(day6(groups)) fmt.Println(day6Part2(groups)) } func day6(groups []string) int { var count int for _, group := range groups { count += len(getYesAnsweredQuestions(group)) } return count } func day6Part2(groups []string) int { var count int for _, group := range groups { count += getQuestionsEveryoneAnsweredYes(group) } return count } func getYesAnsweredQuestions(group string) string { var answeredQuestions string persons := strings.Split(group, "\n") for _, person := range persons { for _, answer := range person { if !strings.Contains(answeredQuestions, string(answer)) { answeredQuestions += string(answer) } } } return answeredQuestions } func getQuestionsEveryoneAnsweredYes(group string) int { var questions [26]int persons := strings.Split(group, "\n") for _, person := range persons { for _, answer := range person { questions[answer-97] += 1 } } count := 0 for _,question := range questions { if question == len(persons){ count++ } } return count }