aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-09-26 16:12:08 +0100
committerGitHub <noreply@github.com>2022-09-26 16:12:08 +0100
commit0ff046ebf330dbb594e9f0fe93b2391b88b2bd08 (patch)
treedca55dd487aecf5713fabe71eaf163265f4db2dc
parent655e7739be10db2e4304652a22366092898c7194 (diff)
parentb5f1f1b30515233da702e6aec498083e167053b8 (diff)
downloadperlweeklychallenge-club-0ff046ebf330dbb594e9f0fe93b2391b88b2bd08.tar.gz
perlweeklychallenge-club-0ff046ebf330dbb594e9f0fe93b2391b88b2bd08.tar.bz2
perlweeklychallenge-club-0ff046ebf330dbb594e9f0fe93b2391b88b2bd08.zip
Merge pull request #6800 from andemark/branch-for-challenge-184
Challenge 184 Solutions
-rw-r--r--challenge-184/mark-anderson/raku/ch-1.raku13
-rw-r--r--challenge-184/mark-anderson/raku/ch-2.raku14
2 files changed, 27 insertions, 0 deletions
diff --git a/challenge-184/mark-anderson/raku/ch-1.raku b/challenge-184/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..437659af20
--- /dev/null
+++ b/challenge-184/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/env raku
+
+say seq-num(< ab1234 cd5678 ef1342 >);
+say seq-num(< pq1122 rs3334 >);
+say seq-num(< ab1234 cd5678 ef1342 pq1122 rs3334
+ xy5529 zz9999 wx8822 hi4321 jr9876
+ br5050 er7752 us3435 mn1029 cd9368 >);
+
+sub seq-num(+$list)
+{
+ my $n = '00';
+ $list.map({ .subst(/^ <lower> ** 2 /, $n++) })
+}
diff --git a/challenge-184/mark-anderson/raku/ch-2.raku b/challenge-184/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..bffc9bd33c
--- /dev/null
+++ b/challenge-184/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+
+say split-array('a 1 2 b 0', '3 c 4 d');
+say split-array('1 2', 'p q r', 's 3', '4 5 t');
+
+sub split-array(+$list)
+{
+ my $loh := $list.map({ .comb(/\S/)
+ .classify({ /<lower>/ ?? 'letters' !! 'numbers' })
+ }).cache;
+
+ $loh.map({ .<numbers> if .<numbers> }),
+ $loh.map({ .<letters> if .<letters> })
+}