diff options
-rw-r--r-- | 2023/day04.pl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/2023/day04.pl b/2023/day04.pl new file mode 100644 index 0000000..57b586c --- /dev/null +++ b/2023/day04.pl @@ -0,0 +1,16 @@ +use strict; +use warnings; +my $points = 0; +while (<>) { + chomp; + $_ =~ s/Card (\d+): //; + my ($winning, $mine) = split(/ [|] /); + my %winning = map {$_ => 1} split(/ +/, $winning); + my @mine = split(/ +/, $mine); + my $score = 0; + for (@mine) { + $score = ($score ? $score * 2 : 1) if exists $winning{$_}; + } + $points += $score; +} +print $points, "\n"; |