From c5bb7a9eecf6f76df3eb782b7db1a34a3dc0416b Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 1 Apr 2024 05:49:21 +0000 Subject: Challenge 263 Solutions (Raku) --- challenge-263/mark-anderson/raku/ch-1.raku | 11 +++++++++++ challenge-263/mark-anderson/raku/ch-2.raku | 15 +++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 challenge-263/mark-anderson/raku/ch-1.raku create mode 100644 challenge-263/mark-anderson/raku/ch-2.raku 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 + } +} -- cgit