diff options
| author | wambash <wamba@centrum.cz> | 2020-09-18 10:38:09 +0200 |
|---|---|---|
| committer | wambash <wamba@centrum.cz> | 2020-09-18 10:38:09 +0200 |
| commit | 3d426f6a39bc7e5bafa32c4e9eb7d986061c2b67 (patch) | |
| tree | 80d192fd1bf1fa4f1ed6cabf606fa7ea9df72ca9 /challenge-078 | |
| parent | b30c2f44a1f433c7eb1ee6eacf8fbba508d69fd3 (diff) | |
| download | perlweeklychallenge-club-3d426f6a39bc7e5bafa32c4e9eb7d986061c2b67.tar.gz perlweeklychallenge-club-3d426f6a39bc7e5bafa32c4e9eb7d986061c2b67.tar.bz2 perlweeklychallenge-club-3d426f6a39bc7e5bafa32c4e9eb7d986061c2b67.zip | |
Solutions challenge 078
Diffstat (limited to 'challenge-078')
| -rwxr-xr-x | challenge-078/wambash/raku/ch-1.raku | 21 | ||||
| -rwxr-xr-x | challenge-078/wambash/raku/ch-2.raku | 19 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-078/wambash/raku/ch-1.raku b/challenge-078/wambash/raku/ch-1.raku new file mode 100755 index 0000000000..7e518ce795 --- /dev/null +++ b/challenge-078/wambash/raku/ch-1.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +multi leader-element ( +@a, :$reverse! where *.not ) { + @a + andthen [\max] $_ + andthen .squish +} + +multi leader-element ( +@a, :$reverse = True ) { + @a + andthen .reverse + andthen *.&leader-element: :!reverse + andthen .reverse +} + +multi MAIN ( :$test! ) { + use Test; + is leader-element(9, 10, 7, 5, 6, 1), (10, 7, 6, 1); + is leader-element(3, 4, 5), (5,); + done-testing; +} diff --git a/challenge-078/wambash/raku/ch-2.raku b/challenge-078/wambash/raku/ch-2.raku new file mode 100755 index 0000000000..66ae200747 --- /dev/null +++ b/challenge-078/wambash/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub left-rotate ( @a, @b ) { + @b.map: { @a.rotate: $_ } +} + +multi MAIN ( :$test! ) { + use Test; + cmp-ok left-rotate( <10 20 30 40 50>, <3 4> ),'~~', (<40 50 10 20 30>, <50 10 20 30 40>); + cmp-ok + left-rotate( <7 4 2 6 3>, <1 3 4> ), + '~~', + ( + <4 2 6 3 7>, + <6 3 7 4 2>, + <3 7 4 2 6>, + ); + done-testing; +} |
