diff options
| author | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-08-10 09:53:32 +0100 |
|---|---|---|
| committer | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-08-10 09:53:32 +0100 |
| commit | 2166060f37e749c63770f7a12e870c3b86110623 (patch) | |
| tree | fc464014272be78e7bf09dab86aceeb07b6a25a1 | |
| parent | 82d56a626e16b0a7dceeba973b3c69e14031d7f9 (diff) | |
| download | perlweeklychallenge-club-2166060f37e749c63770f7a12e870c3b86110623.tar.gz perlweeklychallenge-club-2166060f37e749c63770f7a12e870c3b86110623.tar.bz2 perlweeklychallenge-club-2166060f37e749c63770f7a12e870c3b86110623.zip | |
List fiddling FTW
| -rw-r--r-- | challenge-073/simon-proctor/raku/ch-1.raku | 12 | ||||
| -rw-r--r-- | challenge-073/simon-proctor/raku/ch-2.raku | 10 |
2 files changed, 22 insertions, 0 deletions
diff --git a/challenge-073/simon-proctor/raku/ch-1.raku b/challenge-073/simon-proctor/raku/ch-1.raku new file mode 100644 index 0000000000..b41fc5017d --- /dev/null +++ b/challenge-073/simon-proctor/raku/ch-1.raku @@ -0,0 +1,12 @@ +#!/usr/bin/env raku + +use v6; + +# Print the lowest value in each window of the given list of numbers +sub MAIN( + UInt :$size where { $size > 0 } = 3, #= Size of the sliding window (default 3) + *@numbers where { @numbers.elems >= $size && @numbers.all ~~ Int }, #= List of integers to look at +) { + @numbers.rotor( $size => 1-$size ).map( *.min ).say; +} + diff --git a/challenge-073/simon-proctor/raku/ch-2.raku b/challenge-073/simon-proctor/raku/ch-2.raku new file mode 100644 index 0000000000..43f161e5b3 --- /dev/null +++ b/challenge-073/simon-proctor/raku/ch-2.raku @@ -0,0 +1,10 @@ +#!/usr/bin/env raku + +use v6; + +#| Given a list of Ints for each item return the smallest item before it in the list or 0 if there is none +sub MAIN ( + *@numbers where { $_.all ~~ Int } #= List of integers to check +) { + @numbers.kv.map( -> $i, $v { my $m = @numbers[0..$i].min; $m < $v ?? $m !! 0 } ).say; +} |
