]> www.fi.muni.cz Git - aoc.git/blobdiff - 2023/18.pl
Day 09: shortening the code
[aoc.git] / 2023 / 18.pl
index f41b7b1ed52f85f599398fa708eb45ca46b625d1..43be85e53e58467c8948857210ba38313fa53991 100755 (executable)
@@ -4,20 +4,11 @@ use v5.38;
 
 my $sum;
 while (<>) {
-       my @seq = /-?\d+/g;
-       my @rest;
+       my @seq = reverse /-?\d+/g;
        while (grep $_, @seq) {
-               push @rest, $seq[0];
-               for my $i (0 .. $#seq-1) {
-                       $seq[$i] = $seq[$i+1]-$seq[$i];
-               }
-               pop @seq;
+               $seq[$_] = $seq[$_+1]-$seq[$_] for 0 .. $#seq-1;
+               $sum += pop @seq;
        }
-       my $s = 0;
-       for (reverse @rest) {
-               $s = $_ - $s;
-       }
-       $sum += $s;
 }
 
 say $sum;