summary refs log tree commit diff homepage
path: root/2023/day04.pl
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2023-12-11 15:35:33 -0500
committerJune McEnroe <june@causal.agency>2023-12-11 15:35:33 -0500
commit0ddbf0004d01b202ce0c2f275f8a65719d307f68 (patch)
tree36c6ffb9b5f9a9dc8c7b8adfe90d366bdbd5ce59 /2023/day04.pl
parentSolve day 3 part 2 (diff)
downloadaoc-0ddbf0004d01b202ce0c2f275f8a65719d307f68.tar.gz
aoc-0ddbf0004d01b202ce0c2f275f8a65719d307f68.zip
Solve day 4 part 1
Diffstat (limited to '')
-rw-r--r--2023/day04.pl16
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";