diff options
author | June McEnroe <june@causal.agency> | 2023-12-11 15:35:33 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2023-12-11 15:35:33 -0500 |
commit | 0ddbf0004d01b202ce0c2f275f8a65719d307f68 (patch) | |
tree | 36c6ffb9b5f9a9dc8c7b8adfe90d366bdbd5ce59 | |
parent | Solve day 3 part 2 (diff) | |
download | aoc-0ddbf0004d01b202ce0c2f275f8a65719d307f68.tar.gz aoc-0ddbf0004d01b202ce0c2f275f8a65719d307f68.zip |
Solve day 4 part 1
-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"; |