diff options
| author | Mark Anderson <mark@andemark.io> | 2025-10-20 04:06:41 +0000 |
|---|---|---|
| committer | Mark Anderson <mark@andemark.io> | 2025-10-20 04:06:41 +0000 |
| commit | fcd06b09c6d8b4b8563f4da991a74095adb5a93b (patch) | |
| tree | cb8d9c00271853c8f83c5490937f5414dc5a9196 | |
| parent | 0089e40542c8edad54c99aad1b7e01bfe7050231 (diff) | |
| download | perlweeklychallenge-club-fcd06b09c6d8b4b8563f4da991a74095adb5a93b.tar.gz perlweeklychallenge-club-fcd06b09c6d8b4b8563f4da991a74095adb5a93b.tar.bz2 perlweeklychallenge-club-fcd06b09c6d8b4b8563f4da991a74095adb5a93b.zip | |
Challenge 344 Solutions (Raku)
| -rw-r--r-- | challenge-344/mark-anderson/raku/ch-1.raku | 13 | ||||
| -rw-r--r-- | challenge-344/mark-anderson/raku/ch-2.raku | 23 |
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-344/mark-anderson/raku/ch-1.raku b/challenge-344/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..8090d92bb2 --- /dev/null +++ b/challenge-344/mark-anderson/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku +use Test; + +is array-form-compute((1,2,3,4), 12), (1,2,4,6); +is array-form-compute((2,7,4), 181), (4,5,5); +is array-form-compute((9,9,9), 1), (1,0,0,0); +is array-form-compute((1,0,0,0,0), 9999), (1,9,9,9,9); +is array-form-compute((0,), 1000), (1,0,0,0); + +sub array-form-compute(@ints, $x) +{ + .comb given @ints.join + $x +} diff --git a/challenge-344/mark-anderson/raku/ch-2.raku b/challenge-344/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..6aa924e9b2 --- /dev/null +++ b/challenge-344/mark-anderson/raku/ch-2.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku +use Test; + +ok array-formation([[2,3],[1],[4]], [1,2,3,4]); +nok array-formation([[1,3],[2,4]], [1,2,3,4]); +ok array-formation([[9,1],[5,8],[2]], [5,8,2,9,1]); +nok array-formation([[1],[3]], [1,2,3]); +ok array-formation([[7,4,6]], [7,4,6]); +ok array-formation([[1],[2,33],[33,4],[2,33,4,5],[7],[1,2]], + [1,2,33,4,5,7,33,4,2,33,1,2]); + +sub array-formation(@source, @target) +{ + my $target = @target.Str; + + for @source.sort(-*.elems) + { + $target .= subst(/$_/, 'X'); + return False unless $/ + } + + $target !~~ /<digit>/ +} |
