aboutsummaryrefslogtreecommitdiff
path: root/challenge-334
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <mohammad.anwar@yahoo.com>2025-08-14 10:00:11 +0100
committerMohammad Sajid Anwar <mohammad.anwar@yahoo.com>2025-08-14 10:00:11 +0100
commitf4033203b07b9358c4ab6c7ad44375abafd765a0 (patch)
tree54648d1e1f2c75b94bc657da79b66e767379f947 /challenge-334
parent84050fb198be2af0e86ec46ba9ed962c7ffac897 (diff)
downloadperlweeklychallenge-club-f4033203b07b9358c4ab6c7ad44375abafd765a0.tar.gz
perlweeklychallenge-club-f4033203b07b9358c4ab6c7ad44375abafd765a0.tar.bz2
perlweeklychallenge-club-f4033203b07b9358c4ab6c7ad44375abafd765a0.zip
- Added solutions by Humberto Massa.
Diffstat (limited to 'challenge-334')
-rw-r--r--challenge-334/massa/raku/ch-1.raku24
-rw-r--r--challenge-334/massa/raku/ch-2.raku24
2 files changed, 48 insertions, 0 deletions
diff --git a/challenge-334/massa/raku/ch-1.raku b/challenge-334/massa/raku/ch-1.raku
new file mode 100644
index 0000000000..ad7354228a
--- /dev/null
+++ b/challenge-334/massa/raku/ch-1.raku
@@ -0,0 +1,24 @@
+$x = 0;
+$y = 2;
+@ints = (-2, 0, 3, -5, 2, -1);
+say @ints[$x .. $y].sum;
+
+$x = 1;
+$y = 3;
+@ints = (1, -2, 3, -4, 5);
+say @ints[$x .. $y].sum;
+
+$x = 3;
+$y = 4;
+@ints = (1, 0, 2, -1, 3);
+say @ints[$x .. $y].sum;
+
+$x = 0;
+$y = 3;
+@ints = (-5, 4, -3, 2, -1, 0);
+say @ints[$x .. $y].sum;
+
+$x = 0;
+$y = 2;
+@ints = (-1, 0, 2, -3, -2, 1);
+say @ints[$x .. $y].sum;
diff --git a/challenge-334/massa/raku/ch-2.raku b/challenge-334/massa/raku/ch-2.raku
new file mode 100644
index 0000000000..9deffdbeb7
--- /dev/null
+++ b/challenge-334/massa/raku/ch-2.raku
@@ -0,0 +1,24 @@
+@points = ([1, 2], [3, 1], [2, 4], [2, 3]);
+$x = 3;
+$y = 4;
+say @points.grep({.[0] == $x or .[1] == $y}, :p).sort({abs($x - .value.[0])+abs($y - .value.[1])}).head.?key // -1
+
+@points = ([3, 4], [2, 3], [1, 5], [2, 5]);
+$x = 2;
+$y = 5;
+say @points.grep({.[0] == $x or .[1] == $y}, :p).sort({abs($x - .value.[0])+abs($y - .value.[1])}).head.?key // -1
+
+@points = ([2, 2], [3, 3], [4, 4]);
+$x = 1;
+$y = 1;
+say @points.grep({.[0] == $x or .[1] == $y}, :p).sort({abs($x - .value.[0])+abs($y - .value.[1])}).head.?key // -1
+
+@points = ([0, 1], [1, 0], [0, 2], [2, 0]);
+$x = 0;
+$y = 0;
+say @points.grep({.[0] == $x or .[1] == $y}, :p).sort({abs($x - .value.[0])+abs($y - .value.[1])}).head.?key // -1
+
+@points = ([5, 6], [6, 5], [5, 4], [4, 5]);
+$x = 5;
+$y = 5;
+say @points.grep({.[0] == $x or .[1] == $y}, :p).sort({abs($x - .value.[0])+abs($y - .value.[1])}).head.?key // -1