diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-09-28 10:50:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-28 10:50:19 +0100 |
| commit | f2aa51b3fe8020ac1a56501725378cac8f623c91 (patch) | |
| tree | cb5a0f100409ac3012bbfe492ee2a38711f276e0 | |
| parent | 3984ac2065eba1bfebb96e7395b267948d1caf9e (diff) | |
| parent | 7bd127f8bf47445681764702d6b3b9a29b8b25ab (diff) | |
| download | perlweeklychallenge-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.raku | 22 | ||||
| -rw-r--r-- | challenge-287/wambash/raku/ch-2.raku | 28 |
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 +} |
