diff options
| -rw-r--r-- | challenge-217/wambash/raku/ch-1.raku | 17 | ||||
| -rw-r--r-- | challenge-217/wambash/raku/ch-2.raku | 25 |
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-217/wambash/raku/ch-1.raku b/challenge-217/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..2a4d7076c7 --- /dev/null +++ b/challenge-217/wambash/raku/ch-1.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +sub sorted-matrix (*@matrix) { + @matrix.sort[2] +} + +multi MAIN (Bool :test($)!) { + use Test; + is sorted-matrix([3, 1, 2], [5, 2, 4], [0, 1, 3]), 1; + is sorted-matrix([2,1],[4,5]),4; + is sorted-matrix([1, 0, 3], [0, 0, 0], [1, 2, 1]),0; + done-testing; +} + +multi MAIN (*@matrix) { + say sorted-matrix @matrix +} diff --git a/challenge-217/wambash/raku/ch-2.raku b/challenge-217/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..9395791be4 --- /dev/null +++ b/challenge-217/wambash/raku/ch-2.raku @@ -0,0 +1,25 @@ +#!/usr/bin/env raku + +sub max-number (+@list) { + my $max-length = .max div .min + 1 with @list».codes.minmax; + + @list + andthen .sort: *.Str x $max-length + andthen .reverse + andthen .join +} + +multi MAIN (Bool :test($)!) { + use Test; + is max-number(1, 12, 101), '121101'; + is max-number(1, 23), '231'; + is max-number(10, 3, 2), '3210'; + is max-number(31, 2, 4, 10), '431210'; + is max-number(5, 11, 4, 1, 2), '542111'; + is max-number(1,10), '110'; + done-testing; +} + +multi MAIN (*@list) { + say max-number @list +} |
