2021-01
parent
98a1e23351
commit
2fe3a8f6a7
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,14 @@
|
|||
package part1;
|
||||
|
||||
use 5.34.0;
|
||||
use warnings;
|
||||
|
||||
use experimental 'signatures';
|
||||
|
||||
use List::AllUtils qw/ sum /;
|
||||
|
||||
sub solution(@list) {
|
||||
return sum map { $list[$_] > $list[$_-1] } 1..$#list;
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,17 @@
|
|||
package part2;
|
||||
|
||||
use 5.34.0;
|
||||
use warnings;
|
||||
use experimental 'signatures';
|
||||
|
||||
use List::AllUtils qw/ sum /;
|
||||
|
||||
require './part1.pm';
|
||||
|
||||
sub solution(@list) {
|
||||
return part1::solution(
|
||||
map { my $i = $_; sum map { $list[$i+$_] } 0..2 } 0..$#list-2
|
||||
);
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,19 @@
|
|||
use 5.34.0;
|
||||
|
||||
use Test2::V0;
|
||||
use Path::Tiny;
|
||||
|
||||
require './part1.pm';
|
||||
require './part2.pm';
|
||||
|
||||
my @list = path('./input')->lines;
|
||||
|
||||
subtest part1 => sub {
|
||||
is part1::solution( @list ) => 1602;
|
||||
};
|
||||
|
||||
subtest part2 => sub {
|
||||
is part2::solution(@list) => 1633;
|
||||
};
|
||||
|
||||
done_testing();
|
Loading…
Reference in New Issue