aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-344/ash/raku/ch-1.raku12
-rw-r--r--challenge-344/ash/raku/ch-2.raku12
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)
+}