summaryrefslogtreecommitdiffstats
path: root/2020/day6/group_declaration.pl
diff options
context:
space:
mode:
Diffstat (limited to '2020/day6/group_declaration.pl')
-rw-r--r--2020/day6/group_declaration.pl32
1 files changed, 32 insertions, 0 deletions
diff --git a/2020/day6/group_declaration.pl b/2020/day6/group_declaration.pl
new file mode 100644
index 0000000..6370e2f
--- /dev/null
+++ b/2020/day6/group_declaration.pl
@@ -0,0 +1,32 @@
1use strict;
2use warnings;
3use Smart::Comments;
4use DDP;
5
6my $batch;
7{
8 local $/;
9 open my $fh, '<', "input" or die "no input present, $!";
10 $batch = <$fh>;
11}
12
13my $all_yeses = 0;
14
15while ($batch =~ m/((?:[^\n][\n]?)+)/gm ) {
16 my $group_answers = $1;
17
18 # count the newlines = number of people
19 my $peeps = $1 =~ tr/\n//;
20
21 chomp $group_answers;
22
23 my %counts;
24 while ($group_answers =~ m/^(\w+)$/mg) {
25 my $person_answers = $1;
26 ++$counts{$_} for split(//, $person_answers);
27 }
28
29 $all_yeses += scalar grep { $_ == $peeps } values %counts;
30}
31
32print $all_yeses;