From: Jan "Yenya" Kasprzak Date: Sat, 9 Dec 2023 10:25:58 +0000 (+0100) Subject: Day 09: shortening the code X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=aoc.git;a=commitdiff_plain;h=f3326302a20e10ea19f0b085d6f606074118b05b Day 09: shortening the code --- diff --git a/2023/17.pl b/2023/17.pl index ab77a83..7a9c2ae 100755 --- a/2023/17.pl +++ b/2023/17.pl @@ -1,19 +1,14 @@ #!/usr/bin/perl -w use v5.38; -use List::Util qw(sum); my $sum; while (<>) { my @seq = /-?\d+/g; - my @rest; while (grep $_, @seq) { - for my $i (0 .. $#seq-1) { - $seq[$i] = $seq[$i+1]-$seq[$i]; - } - push @rest, pop @seq; + $seq[$_] = $seq[$_+1]-$seq[$_] for 0 .. $#seq-1; + $sum += pop @seq; } - $sum += sum @rest; } say $sum; diff --git a/2023/18.pl b/2023/18.pl index 1ea7553..43be85e 100755 --- a/2023/18.pl +++ b/2023/18.pl @@ -1,19 +1,14 @@ #!/usr/bin/perl -w use v5.38; -use List::Util qw(sum); my $sum; while (<>) { my @seq = reverse /-?\d+/g; - my @rest; while (grep $_, @seq) { - for my $i (0 .. $#seq-1) { - $seq[$i] = $seq[$i+1]-$seq[$i]; - } - push @rest, pop @seq; + $seq[$_] = $seq[$_+1]-$seq[$_] for 0 .. $#seq-1; + $sum += pop @seq; } - $sum += sum @rest; } say $sum;