aoc2015

Advent of Code 2015 solutions in Perl.
git clone git://git.samirparikh.com/aoc2015
Log | Files | Refs | README

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:
Mday08/Day08.pm | 12++++++++++--
Mday08/day08.pl | 8+++++---
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;