]> www.fi.muni.cz Git - aoc.git/commitdiff
Day 09: shortening the code
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Sat, 9 Dec 2023 10:25:58 +0000 (11:25 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Sat, 9 Dec 2023 10:25:58 +0000 (11:25 +0100)
2023/17.pl
2023/18.pl

index ab77a834b3609b89f9713f17063767d56621060e..7a9c2ae7dcb8e63472754b7737c9834b2242b418 100755 (executable)
@@ -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;
index 1ea75534d67e350795caff93b03a51897714a5ed..43be85e53e58467c8948857210ba38313fa53991 100755 (executable)
@@ -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;