aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-08-12 09:49:58 +0100
committerGitHub <noreply@github.com>2024-08-12 09:49:58 +0100
commit57c76ed3b3c13b9abf2d9b6864502c681524aecf (patch)
tree4c6e113ceea877c3ca9ad8ed855853b3638fb311
parent15c749f399e0acb807d7cbde5c370612e068355e (diff)
parent009751b9ce1d31f524bf98cdabf1a2d1bdacede2 (diff)
downloadperlweeklychallenge-club-57c76ed3b3c13b9abf2d9b6864502c681524aecf.tar.gz
perlweeklychallenge-club-57c76ed3b3c13b9abf2d9b6864502c681524aecf.tar.bz2
perlweeklychallenge-club-57c76ed3b3c13b9abf2d9b6864502c681524aecf.zip
Merge pull request #10590 from andemark/challenge-282
Challenge 282 Solutions (Raku)
-rw-r--r--challenge-282/mark-anderson/raku/ch-1.raku13
-rw-r--r--challenge-282/mark-anderson/raku/ch-2.raku12
2 files changed, 25 insertions, 0 deletions
diff --git a/challenge-282/mark-anderson/raku/ch-1.raku b/challenge-282/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..926b235b6a
--- /dev/null
+++ b/challenge-282/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/env raku
+use Test;
+
+is-deeply good-integer(12344456), ("444",);
+is good-integer(1233334), -1;
+is-deeply good-integer(10020003), ("000",);
+is-deeply good-integer(77711233334445556678999), ("777", "444", "555", "999");
+
+sub good-integer($int)
+{
+ my $m = $int ~~ m:ov/ (^ || \d) ( (\d) $0 $0 ) (\d || $) <?{ $1[0] !== $0|$2 }> /;
+ return $m>>.[1]>>.Str || -1
+}
diff --git a/challenge-282/mark-anderson/raku/ch-2.raku b/challenge-282/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..1d7d04df4e
--- /dev/null
+++ b/challenge-282/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,12 @@
+#!/usr/bin/env raku
+use Test;
+
+is changing-keys("pPeERrLl"), 3;
+is changing-keys("rRr"), 0;
+is changing-keys("GoO"), 1;
+is changing-keys("ILooooooVeEEpppPErrrrrLLLLlLL"), 8;
+
+sub changing-keys($str)
+{
+ $str.lc.comb.squish.elems - 1
+}