diff options
| -rw-r--r-- | challenge-344/ash/raku/ch-1.raku | 12 | ||||
| -rw-r--r-- | challenge-344/ash/raku/ch-2.raku | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/challenge-344/ash/raku/ch-1.raku b/challenge-344/ash/raku/ch-1.raku new file mode 100644 index 0000000000..d2268a2a95 --- /dev/null +++ b/challenge-344/ash/raku/ch-1.raku @@ -0,0 +1,12 @@ +# Task 1 of the Weekly Challenge 344 +# https://theweeklychallenge.org/blog/perl-weekly-challenge-344/#TASK1 + +say add-val((1, 2, 3, 4), 12); # (1 2 4 6) +say add-val((2, 7, 4), 181); # (4 5 5) +say add-val((9, 9, 9), 1); # (1 0 0 0) +say add-val((1, 0, 0, 0, 0), 9999); # (1 9 9 9 9) +say add-val((0,), 1000); # (1 0 0 0) + +sub add-val(@ints, $x) { + (@ints.join + $x).comb +} diff --git a/challenge-344/ash/raku/ch-2.raku b/challenge-344/ash/raku/ch-2.raku new file mode 100644 index 0000000000..6e192376b8 --- /dev/null +++ b/challenge-344/ash/raku/ch-2.raku @@ -0,0 +1,12 @@ +# Task 2 of the Weekly Challenge 344 +# https://theweeklychallenge.org/blog/perl-weekly-challenge-344/#TASK2 + +say can-form-array(([2,3], [1], [4]), (1, 2, 3, 4)); # True +say can-form-array(([1,3], [2,4]), (1, 2, 3, 4)); # False +say can-form-array(([9,1], [5,8], [2]), (5, 8, 2, 9, 1)); # True +say can-form-array(([1], [3]), (1, 2, 3)); # False +say can-form-array(([7,4,6]), (7, 4, 6)); # True + +sub can-form-array(@source, @target) { + @target ~~ any(@source.permutations>>.flat) +} |
