commit 3d86d1483b60da34abec48937872b1b09f264530
parent bc608fcb0fad5d0e6357e0d4b8ff56df0d94755d
Author: Samir Parikh <noreply@samirparikh.com>
Date: Thu, 22 Dec 2022 14:25:50 +0000
solve part 2 of day03
Diffstat:
1 file changed, 14 insertions(+), 0 deletions(-)
diff --git a/day03/day03.pl b/day03/day03.pl
@@ -10,6 +10,9 @@ chomp( my $input = do { local $/; <> } );
my @rucksacks = split /\n/, $input;
my $part1 = 0;
+my $part2 = 0;
+my $elf_count = 0;
+my $combined = '';
foreach my $rucksack ( @rucksacks ) {
my $compartment1 = substr( $rucksack, 0, ( length $rucksack ) / 2 );
@@ -24,6 +27,17 @@ foreach my $rucksack ( @rucksacks ) {
last;
}
}
+
+# see https://abigail.github.io/HTML/AdventOfCode/2022/day-03.html
+ $combined .= $rucksack . "\n";
+ $elf_count++;
+ if ( $elf_count % 3 == 0 ) {
+ my ( $badge ) = $combined =~ m/(.).*\n.*\1.*\n.*\1/;
+ $part2 += ( $badge =~ m/[a-z]/ ) ? ord( $badge ) - ord( 'a' ) + 1 :
+ ord( $badge ) - ord( 'A' ) + 27;
+ $combined = '';
+ }
}
say "part 1: ", $part1;
+say "part 2: ", $part2;