diff options
| -rw-r--r-- | challenge-194/mark-anderson/raku/ch-1.raku | 12 | ||||
| -rw-r--r-- | challenge-194/mark-anderson/raku/ch-2.raku | 18 |
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 } |
