diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-12-11 13:28:48 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-11 13:28:48 +0000 |
| commit | 5333b8bde873a3b1db76959f5b4ad7b68fa811b0 (patch) | |
| tree | 52a54c35aef00ae26207686ebc609044599ab066 | |
| parent | 232802fabfbdf4d63e095e1dab0070caf5644153 (diff) | |
| parent | c9dbbd391eb2c127b05b4f4d5b4fca991d836e9d (diff) | |
| download | perlweeklychallenge-club-5333b8bde873a3b1db76959f5b4ad7b68fa811b0.tar.gz perlweeklychallenge-club-5333b8bde873a3b1db76959f5b4ad7b68fa811b0.tar.bz2 perlweeklychallenge-club-5333b8bde873a3b1db76959f5b4ad7b68fa811b0.zip | |
Merge pull request #7235 from wambash/challenge-week-194
solutions week 194
| -rw-r--r-- | challenge-194/wambash/raku/ch-1.raku | 28 | ||||
| -rw-r--r-- | challenge-194/wambash/raku/ch-2.raku | 23 |
2 files changed, 51 insertions, 0 deletions
diff --git a/challenge-194/wambash/raku/ch-1.raku b/challenge-194/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..ee77b8b4ad --- /dev/null +++ b/challenge-194/wambash/raku/ch-1.raku @@ -0,0 +1,28 @@ +#!/usr/bin/env raku + +sub is-valid-time ($s) { + my ($hour,$minute) = $s.split: ':'; + so try DateTime.now.clone: :$hour, :$minute +} + +sub digital-clock ($s) { + 9...0 + andthen .first: { + is-valid-time $s.trans: '?' => "$_" + } +} + +multi MAIN (Bool :test($)!) { + use Test; + is digital-clock('?5:00'),1; + is digital-clock('?3:00'),2; + is digital-clock('1?:00'),9; + is digital-clock('2?:00'),3; + is digital-clock('12:?5'),5; + is digital-clock('12:59'),9; + done-testing; +} + +multi MAIN ($s) { + say digital-clock $s +} diff --git a/challenge-194/wambash/raku/ch-2.raku b/challenge-194/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..a30a8128a6 --- /dev/null +++ b/challenge-194/wambash/raku/ch-2.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +sub frequency-equalizer ($s) { + $s + andthen .comb + andthen .Bag + andthen all .values.minmax == 2, .maxpairs == 1 + andthen .so +} + +multi MAIN (Bool :test($)!) { + use Test; + is frequency-equalizer('abbc'), True; + is frequency-equalizer('xyzyyxz'), True; + is frequency-equalizer('xzxz'), False; + is frequency-equalizer('aabbcccddd'), False; + is frequency-equalizer('aabbccccdd'), False; + done-testing; +} + +multi MAIN ($s) { + say +frequency-equalizer $s +} |
