summaryrefslogtreecommitdiffstats
path: root/2020/day6/group_declaration.pl
diff options
context:
space:
mode:
authorYigit Sever2021-12-12 01:24:32 +0300
committerYigit Sever2021-12-12 01:24:32 +0300
commit4bb6f8d06c0e384f3394012b1d48da58ed28cc5e (patch)
treed6478c85c0488a1059567ccd2882cb10039c2546 /2020/day6/group_declaration.pl
parentae3853b6e8ab02023ccd74baac6dc177b1ee879a (diff)
downloadaoc-4bb6f8d06c0e384f3394012b1d48da58ed28cc5e.tar.gz
aoc-4bb6f8d06c0e384f3394012b1d48da58ed28cc5e.tar.bz2
aoc-4bb6f8d06c0e384f3394012b1d48da58ed28cc5e.zip
2020, tracking
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;