aboutsummaryrefslogtreecommitdiff
path: root/challenge-194
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-12-11 23:18:38 +0000
committerGitHub <noreply@github.com>2022-12-11 23:18:38 +0000
commitf7ff588a8219fc08d62087b4153bfcbe7cc678da (patch)
tree1fdfc9659bc3e528a68b8a9c3a7632b94ca55679 /challenge-194
parente33847eaed3f170638226372a23a4442749ee1f1 (diff)
parent67a59fdf604bb28051b33d511dc16480ccc78dcf (diff)
downloadperlweeklychallenge-club-f7ff588a8219fc08d62087b4153bfcbe7cc678da.tar.gz
perlweeklychallenge-club-f7ff588a8219fc08d62087b4153bfcbe7cc678da.tar.bz2
perlweeklychallenge-club-f7ff588a8219fc08d62087b4153bfcbe7cc678da.zip
Merge pull request #7237 from andemark/branch-for-challenge-194
bug fix and tidied up
Diffstat (limited to 'challenge-194')
-rw-r--r--challenge-194/mark-anderson/raku/ch-1.raku12
-rw-r--r--challenge-194/mark-anderson/raku/ch-2.raku18
2 files changed, 20 insertions, 10 deletions
diff --git a/challenge-194/mark-anderson/raku/ch-1.raku b/challenge-194/mark-anderson/raku/ch-1.raku
index d7767f44af..b8de0fad8e 100644
--- a/challenge-194/mark-anderson/raku/ch-1.raku
+++ b/challenge-194/mark-anderson/raku/ch-1.raku
@@ -12,13 +12,9 @@ sub digital-clock($t)
{
return do given $t.index('?')
{
- when 4 { 9 }
- when 3 { 5 }
- default
- {
- my $d = $t ~~ m:1st/\d/;
- when 1 { $d < 2 ?? 9 !! 3 }
- default { $d < 4 ?? 2 !! 1 }
- }
+ when 4 { 9 }
+ when 3 { 5 }
+ when 1 { $t ~~ /\d/ < 2 ?? 9 !! 3 }
+ default { $t ~~ /\d/ < 4 ?? 2 !! 1 }
}
}
diff --git a/challenge-194/mark-anderson/raku/ch-2.raku b/challenge-194/mark-anderson/raku/ch-2.raku
index b739dd9bf3..4977a7c492 100644
--- a/challenge-194/mark-anderson/raku/ch-2.raku
+++ b/challenge-194/mark-anderson/raku/ch-2.raku
@@ -5,10 +5,24 @@ ok freq-equalizer('abbc');
ok freq-equalizer('xyzyyxz');
nok freq-equalizer('xzxz');
ok freq-equalizer('xxxxx');
+nok freq-equalizer('aaaabbbcc');
+nok freq-equalizer('aabbcd');
+ok freq-equalizer('aabbccd');
+ok freq-equalizer('z');
sub freq-equalizer($_)
{
my $bag = .comb.BagHash;
- $bag{ $bag.antipairs.max.value }--;
- [==] $bag.values;
+
+ if $bag.minpairs == 1
+ {
+ $bag{ $bag.antipairs.min.value }--
+ }
+
+ else
+ {
+ $bag{ $bag.antipairs.max.value }--
+ }
+
+ [==] $bag.values
}