aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-05-08 06:36:21 +0100
committerGitHub <noreply@github.com>2023-05-08 06:36:21 +0100
commit4e1c6961a0e4fc3482ddc4f2226dbf838072b937 (patch)
tree9ece986da7a7d34247ba86493a2c6ce837f85ae8
parentf050177981b6b6366ce13693e509abdcb301453f (diff)
parentdb89d8fa046dfbc2bb64f4c0fdd31a4a3a576875 (diff)
downloadperlweeklychallenge-club-4e1c6961a0e4fc3482ddc4f2226dbf838072b937.tar.gz
perlweeklychallenge-club-4e1c6961a0e4fc3482ddc4f2226dbf838072b937.tar.bz2
perlweeklychallenge-club-4e1c6961a0e4fc3482ddc4f2226dbf838072b937.zip
Merge pull request #8041 from wambash/challenge-week-215
solutions week 215
-rw-r--r--challenge-215/wambash/raku/ch-1.raku23
-rw-r--r--challenge-215/wambash/raku/ch-2.raku21
2 files changed, 44 insertions, 0 deletions
diff --git a/challenge-215/wambash/raku/ch-1.raku b/challenge-215/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..649ed7754a
--- /dev/null
+++ b/challenge-215/wambash/raku/ch-1.raku
@@ -0,0 +1,23 @@
+#!/usr/bin/env raku
+
+sub odd-one-out (+@words) {
+ @words
+ andthen .grep: { [le] .comb }\
+ andthen $_ but @words.elems - .elems
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is odd-one-out(<abc xyz tsu>), <abc xyz>;
+ is odd-one-out(<abc xyz tsu>).Int, 1;
+ is odd-one-out(<rat cab dad>), ();
+ is odd-one-out(<rat cab dad>).Int, 3;
+ is odd-one-out(<x y z>), <x y z>;
+ is odd-one-out(<x y z>).Int, 0;
+ done-testing;
+}
+
+multi MAIN (*@words) {
+ odd-one-out(@words)
+ andthen put .Int => $_
+}
diff --git a/challenge-215/wambash/raku/ch-2.raku b/challenge-215/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..29cd00be56
--- /dev/null
+++ b/challenge-215/wambash/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub number-placement (+@numbers, :$count) {
+ @numbers.join
+ andthen .match: / [^||0] <( 0 <?before (0|$) > /,:g #)> close bracket for emacs
+ andthen $count ≤ .elems
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ plan 4;
+ is number-placement(1,0,0,0,1,:1count),True;
+ is number-placement(1,0,0,0,1,:2count),False;
+ is number-placement(1,0,0,0,0,0,0,1,:3count),False;
+ is number-placement(1,0,0,0,0,0,0,0,1,:3count),True;
+ done-testing;
+}
+
+multi MAIN (*@numbers, :$count) {
+ say +number-placement @numbers, :$count
+}