aboutsummaryrefslogtreecommitdiff
path: root/challenge-200
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-01-23 00:15:49 +0000
committerGitHub <noreply@github.com>2023-01-23 00:15:49 +0000
commit3d989218f08d6486492bc75f36a6dde620004483 (patch)
treed7f4c1e341e4d008fe443abd9c7eb2d31d9d8b5e /challenge-200
parent33817079fb920091e06432d7c977f3bbef8a9cbc (diff)
parent961677efa2e722b447f2e497751878aefa668379 (diff)
downloadperlweeklychallenge-club-3d989218f08d6486492bc75f36a6dde620004483.tar.gz
perlweeklychallenge-club-3d989218f08d6486492bc75f36a6dde620004483.tar.bz2
perlweeklychallenge-club-3d989218f08d6486492bc75f36a6dde620004483.zip
Merge pull request #7423 from andemark/branch-for-challenge-200
Initial 200 (Raku)
Diffstat (limited to 'challenge-200')
-rw-r--r--challenge-200/mark-anderson/raku/ch-1.raku18
-rw-r--r--challenge-200/mark-anderson/raku/ch-2.raku130
2 files changed, 148 insertions, 0 deletions
diff --git a/challenge-200/mark-anderson/raku/ch-1.raku b/challenge-200/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..cbec03c451
--- /dev/null
+++ b/challenge-200/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,18 @@
+#!/usr/bin/env raku
+use Test;
+
+is arithmetic-slices(1,2,3,4), ((1,2,3), (2,3,4), (1,2,3,4));
+is arithmetic-slices(2), ();
+is arithmetic-slices(1,2,3,5,6,7), ((1,2,3), (5,6,7));
+is arithmetic-slices(1,4,7,8,9,11,13), ((1,4,7), (7,8,9), (9,11,13));
+
+sub arithmetic-slices(*@array)
+{
+ gather for 3..@array.elems
+ {
+ for @array.rotor($_ => -.pred)
+ {
+ .take if [==] .rotor(2 => -1).map({ .[0] - .[1] })
+ }
+ }
+}
diff --git a/challenge-200/mark-anderson/raku/ch-2.raku b/challenge-200/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..abe46727e9
--- /dev/null
+++ b/challenge-200/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,130 @@
+#!/usr/bin/env raku
+use Test;
+
+is ASCII-Art(200), chomp q:to/END/;
+ ----- ----- -----
+ | | | | |
+ | | | | |
+ ----- | | | |
+ | | | | |
+ | | | | |
+ ----- ----- -----
+ END
+
+is ASCII-Art(5280), chomp q:to/END/;
+ ----- ----- ----- -----
+ | | | | | |
+ | | | | | |
+ ----- ----- ----- | |
+ | | | | | |
+ | | | | | |
+ ----- ----- ----- -----
+ END
+
+sub ASCII-Art($n)
+{
+ my @digits =
+ [
+ (chomp q:to/END/).split("\n").Array,
+ -----
+ | |
+ | |
+ | |
+ | |
+ | |
+ -----
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ -
+ |
+ |
+ |
+ |
+ |
+ -
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ -----
+ |
+ |
+ -----
+ |
+ |
+ -----
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ -----
+ |
+ |
+ -----
+ |
+ |
+ -----
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ - -
+ | |
+ | |
+ -----
+ |
+ |
+ -
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ -----
+ |
+ |
+ -----
+ |
+ |
+ -----
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ -----
+ |
+ |
+ -----
+ | |
+ | |
+ -----
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ -----
+ |
+ |
+ |
+ |
+ |
+ -
+ END
+
+ (chomp q:to/END/).split("\n").Array,
+ -----
+ | |
+ | |
+ -----
+ | |
+ | |
+ -----
+ END
+
+ (chomp q:to/END/).split("\n").Array
+ -----
+ | |
+ | |
+ -----
+ |
+ |
+ -----
+ END
+ ];
+
+ ([Z] @digits[$n.comb]).join("\n")
+}