From: Jan "Yenya" Kasprzak Date: Sat, 9 Dec 2023 05:27:27 +0000 (+0100) Subject: Day 9: interesting task X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=aoc.git;a=commitdiff_plain;h=c5060bdbc898139cea04423a11650446d3a291a3 Day 9: interesting task --- diff --git a/2023/17.pl b/2023/17.pl new file mode 100755 index 0000000..ab77a83 --- /dev/null +++ b/2023/17.pl @@ -0,0 +1,20 @@ +#!/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; + } + $sum += sum @rest; +} + +say $sum; + diff --git a/2023/18.pl b/2023/18.pl new file mode 100755 index 0000000..f41b7b1 --- /dev/null +++ b/2023/18.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl -w + +use v5.38; + +my $sum; +while (<>) { + my @seq = /-?\d+/g; + my @rest; + while (grep $_, @seq) { + push @rest, $seq[0]; + for my $i (0 .. $#seq-1) { + $seq[$i] = $seq[$i+1]-$seq[$i]; + } + pop @seq; + } + my $s = 0; + for (reverse @rest) { + $s = $_ - $s; + } + $sum += $s; +} + +say $sum; +