aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2024-04-01 05:49:21 +0000
committerMark <53903062+andemark@users.noreply.github.com>2024-04-01 05:49:21 +0000
commitc5bb7a9eecf6f76df3eb782b7db1a34a3dc0416b (patch)
tree3b245e3b1bc49cf93aa0ca718323b0b6ab93b2ff
parentc9be1656455d23b019df372ed14a189133c588b1 (diff)
downloadperlweeklychallenge-club-c5bb7a9eecf6f76df3eb782b7db1a34a3dc0416b.tar.gz
perlweeklychallenge-club-c5bb7a9eecf6f76df3eb782b7db1a34a3dc0416b.tar.bz2
perlweeklychallenge-club-c5bb7a9eecf6f76df3eb782b7db1a34a3dc0416b.zip
Challenge 263 Solutions (Raku)
-rw-r--r--challenge-263/mark-anderson/raku/ch-1.raku11
-rw-r--r--challenge-263/mark-anderson/raku/ch-2.raku15
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-263/mark-anderson/raku/ch-1.raku b/challenge-263/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..d029665e08
--- /dev/null
+++ b/challenge-263/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/env raku
+use Test;
+
+is target-index((1,5,3,2,4,2), 2), (1,2);
+is target-index((1,2,4,3,5), 6), ();
+is target-index((5,3,2,4,2,1), 4), (4);
+
+sub target-index(@ints, $k)
+{
+ @ints.sort.grep($k, :k)
+}
diff --git a/challenge-263/mark-anderson/raku/ch-2.raku b/challenge-263/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..c3921fc60c
--- /dev/null
+++ b/challenge-263/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/env raku
+use Test;
+
+is merge-items([[1,1],[2,1],[3,2]], [[2,2],[1,3]]), ((1,4),(2,3),(3,2));
+is merge-items([[1,2],[2,3],[1,3],[3,2]], [[3,1],[1,3]]), ((1,8),(2,3),(3,3));
+is merge-items([[1,1],[2,2],[3,3]], [[2,3],[2,4]]), ((1,1),(2,9),(3,3));
+
+sub merge-items($i1, $i2)
+{
+ given (|$i1, |$i2).classify({.head}, :as{.tail})
+ {
+ .{.keys} = .values>>.sum;
+ sort .keys Z .values
+ }
+}