aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-09-28 10:50:19 +0100
committerGitHub <noreply@github.com>2024-09-28 10:50:19 +0100
commitf2aa51b3fe8020ac1a56501725378cac8f623c91 (patch)
treecb5a0f100409ac3012bbfe492ee2a38711f276e0
parent3984ac2065eba1bfebb96e7395b267948d1caf9e (diff)
parent7bd127f8bf47445681764702d6b3b9a29b8b25ab (diff)
downloadperlweeklychallenge-club-f2aa51b3fe8020ac1a56501725378cac8f623c91.tar.gz
perlweeklychallenge-club-f2aa51b3fe8020ac1a56501725378cac8f623c91.tar.bz2
perlweeklychallenge-club-f2aa51b3fe8020ac1a56501725378cac8f623c91.zip
Merge pull request #10917 from wambash/challenge-week-287
solutions week 287
-rw-r--r--challenge-287/wambash/raku/ch-1.raku22
-rw-r--r--challenge-287/wambash/raku/ch-2.raku28
2 files changed, 50 insertions, 0 deletions
diff --git a/challenge-287/wambash/raku/ch-1.raku b/challenge-287/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..92907990d6
--- /dev/null
+++ b/challenge-287/wambash/raku/ch-1.raku
@@ -0,0 +1,22 @@
+#!/usr/bin/env raku
+
+sub strong-password ($_) {
+ 0
+ max (6- .chars)
+ max (3- .contains(/<:Ll>/) - .contains( /<:Lu>/) - .contains( /\d/))
+ max .comb( /(.)$0$0/).elems
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is strong-password('a'), 5;
+ is strong-password('aB2'), 3;
+ is strong-password('PaaSW0rd'), 0;
+ is strong-password('Paaasw0rd'), 1;
+ is strong-password('aaaaa'), 2;
+ done-testing;
+}
+
+multi MAIN ($str) {
+ say strong-password $str
+}
diff --git a/challenge-287/wambash/raku/ch-2.raku b/challenge-287/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..aa4a19ae96
--- /dev/null
+++ b/challenge-287/wambash/raku/ch-2.raku
@@ -0,0 +1,28 @@
+#!/usr/bin/env raku
+
+my token integer { <[+-]>? \d+ };
+my token decimal { <[+-]>? [ \d+ \.\d* | \.\d+ ] };
+my token valid-number {^ [ <integer>|<decimal> ] [<[eE]> <integer>]? $};
+
+
+sub valid-number-check ($str) {
+ $str.contains: &valid-number
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is valid-number-check( '1'), True;
+ is valid-number-check('-1'), True;
+ is valid-number-check('a'), False;
+ is valid-number-check('.'), False;
+ is valid-number-check('1.2e4.2'), False;
+ is valid-number-check('-1.'), True;
+ is valid-number-check('+1E-8'), True;
+ is valid-number-check('.43'), True;
+ is valid-number-check('1.2e4'), True;
+ done-testing;
+}
+
+multi MAIN ($str) {
+ say valid-number-check $str
+}