commit 94b9d5467c0cced56422262a2ccf8a71d946427f
parent 5123382b7619eec46052aed65f56c5fef0cf200d
Author: Samir Parikh <noreply@samirparikh.com>
Date: Thu, 27 Oct 2022 21:00:35 +0000
solve part 2 of day08
Diffstat:
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/day08/Day08.pm b/day08/Day08.pm
@@ -5,9 +5,9 @@ use warnings;
use v5.32;
use Exporter qw( import );
-our @EXPORT = qw( count_characters );
+our @EXPORT = qw( part1 part2 );
-sub count_characters {
+sub part1 {
my $string = shift;
$string =~ s/^"//; # remove beginning quote
$string =~ s/"$//; # remove trailing quote
@@ -24,4 +24,12 @@ sub count_characters {
return $string_characters - $memory_characters;
}
+sub part2 {
+ my $string = shift;
+ my $length = length $string;
+ $string =~ s|\\|\\\\|g;
+ $string =~ s|"|\\"|g;
+ return ( length $string ) + 2 - $length;
+}
+
1;
diff --git a/day08/day08.pl b/day08/day08.pl
@@ -5,16 +5,18 @@ use strict;
use warnings;
use v5.32;
use lib '.';
-use Day08 qw< count_characters >;
+use Day08 qw< part1 part2 >;
@ARGV = "input" unless @ARGV;
chomp( my $input = do { local $/; <> } );
my @strings = split /\n/, $input;
-my $part1;
+my ( $part1, $part2 );
foreach ( @strings ) {
- $part1 += count_characters( $_ );
+ $part1 += part1( $_ );
+ $part2 += part2( $_ );
}
say "part 1: ", $part1;
+say "part 2: ", $part2;