aboutsummaryrefslogtreecommitdiff
path: root/challenge-199
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2023-01-09 08:46:47 +0000
committerMark <53903062+andemark@users.noreply.github.com>2023-01-09 08:46:47 +0000
commitc1382daf85cc9f5a7d2061ffd4c32631055ace61 (patch)
tree9c3481960883a78bff261cee592c41a891906fae /challenge-199
parentb8a1cd65abd85f6cf9df5b9dc5bc34677763b531 (diff)
downloadperlweeklychallenge-club-c1382daf85cc9f5a7d2061ffd4c32631055ace61.tar.gz
perlweeklychallenge-club-c1382daf85cc9f5a7d2061ffd4c32631055ace61.tar.bz2
perlweeklychallenge-club-c1382daf85cc9f5a7d2061ffd4c32631055ace61.zip
Challenge 199 Solutions (Raku)
Diffstat (limited to 'challenge-199')
-rw-r--r--challenge-199/mark-anderson/raku/ch-1.raku13
-rw-r--r--challenge-199/mark-anderson/raku/ch-2.raku16
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-199/mark-anderson/raku/ch-1.raku b/challenge-199/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..75aaa9178a
--- /dev/null
+++ b/challenge-199/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/env raku
+use Test;
+
+is good-pairs(1,2,3,1,1,3), 4;
+is good-pairs(1,2,3), 0;
+is good-pairs(1,1,1,1), 6;
+
+sub good-pairs(+$list)
+{
+ $list.combinations(2)
+ .grep({ .[0] == .[1] })
+ .elems
+}
diff --git a/challenge-199/mark-anderson/raku/ch-2.raku b/challenge-199/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..c9870d4fe9
--- /dev/null
+++ b/challenge-199/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+use Test;
+
+is good-triplets((3,0,1,1,9,7), 7, 2, 3), 4;
+is good-triplets((1,1,2,2,3), 0, 0, 1), 0;
+
+sub good-triplets($list, $x, $y, $z)
+{
+ $list.combinations(3)
+ .grep({
+ [and] abs(.[0] - .[1]) <= $x,
+ abs(.[1] - .[2]) <= $y,
+ abs(.[0] - .[2]) <= $z
+ })
+ .elems
+}