From 6491c338d050e1b58e7ff24ef9191b16b6756769 Mon Sep 17 00:00:00 2001 From: Julio Date: Wed, 30 Sep 2020 00:15:46 +0200 Subject: Add solution for Week 80 --- challenge-080/juliodcs/perl/ch-1.pl | 15 +++++++++++++++ challenge-080/juliodcs/perl/ch-2.pl | 9 +++++++++ challenge-080/juliodcs/raku/ch-1.raku | 8 ++++++++ challenge-080/juliodcs/raku/ch-2.raku | 3 +++ 4 files changed, 35 insertions(+) create mode 100644 challenge-080/juliodcs/perl/ch-1.pl create mode 100644 challenge-080/juliodcs/perl/ch-2.pl create mode 100644 challenge-080/juliodcs/raku/ch-1.raku create mode 100644 challenge-080/juliodcs/raku/ch-2.raku diff --git a/challenge-080/juliodcs/perl/ch-1.pl b/challenge-080/juliodcs/perl/ch-1.pl new file mode 100644 index 0000000000..be58e7913d --- /dev/null +++ b/challenge-080/juliodcs/perl/ch-1.pl @@ -0,0 +1,15 @@ +use strict; +use warnings; +use List::MoreUtils qw(uniq); +use feature 'say'; +use bigint; + +sub min_slot { + my $expected = 1; + for my $number ( uniq sort {$a - $b} grep {$_ > 0} @ARGV ) { + return --$expected if $expected++ != $number; + } + return 0; # no empty *slot* +} + +say 'Min slot: ' . min_slot; diff --git a/challenge-080/juliodcs/perl/ch-2.pl b/challenge-080/juliodcs/perl/ch-2.pl new file mode 100644 index 0000000000..ee281800b8 --- /dev/null +++ b/challenge-080/juliodcs/perl/ch-2.pl @@ -0,0 +1,9 @@ +use strict; +use warnings; +use experimental 'signatures'; +use List::Util qw(all); +use feature 'say'; + +die "Only numbers accepted\n" unless all { m/^\d+$/ } @ARGV; + +say @ARGV + grep { $ARGV[$_] ne $ARGV[$_ + 1] } 0 .. @ARGV - 2; diff --git a/challenge-080/juliodcs/raku/ch-1.raku b/challenge-080/juliodcs/raku/ch-1.raku new file mode 100644 index 0000000000..6e0e291735 --- /dev/null +++ b/challenge-080/juliodcs/raku/ch-1.raku @@ -0,0 +1,8 @@ +sub min-slot { + for @*ARGS>>.Int.grep(* > 0).sort.unique.pairs { + return .key.succ if .key.succ != .value; + } + return 0 # no empty *slot* +} + +say 'Min slot: ' ~ min-slot; diff --git a/challenge-080/juliodcs/raku/ch-2.raku b/challenge-080/juliodcs/raku/ch-2.raku new file mode 100644 index 0000000000..c74f184fc7 --- /dev/null +++ b/challenge-080/juliodcs/raku/ch-2.raku @@ -0,0 +1,3 @@ +my @N = @*ARGS>>.Int; + +say @N.elems + elems (^@N.elems.pred).grep: { @N[$_] != @N[.succ] }; -- cgit