From: Jan "Yenya" Kasprzak Date: Wed, 3 Dec 2025 06:14:44 +0000 (+0100) Subject: Day 3: shorter code for part 2 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=723b403cc192199c4926df58c07be9d643eae534;p=aoc.git Day 3: shorter code for part 2 --- diff --git a/2025/06.pl b/2025/06.pl index f2a5fde..fd27cc9 100755 --- a/2025/06.pl +++ b/2025/06.pl @@ -3,18 +3,14 @@ use v5.42; use List::Util qw(sum); -my $len = 12; - -sub search { - my ($d, $str) = @_; - - return $str if length $str == $len; +sub search($in, $res, $len) { + return $res if !$len--; for my $n (reverse 1 .. 9) { - my $re = $n . ('.' x ($len - 1 - length $str)); - next if $d !~ /$re/; - return search($d =~ s/^.*?$n//r, "$str$n"); + my $re = $n . ('.' x $len); + next if $in !~ /$re/; + return search($in =~ s/^.*?$n//r, "$res$n", $len); } } -say sum map { chomp; search($_, '') } <>; +say sum map { chomp; search($_, '', 12) } <>;