diff options
| -rwxr-xr-x | challenge-194/steve-g-lynn/perl/ch-2.pl | 8 | ||||
| -rwxr-xr-x | challenge-194/steve-g-lynn/raku/ch-2.p6 | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/challenge-194/steve-g-lynn/perl/ch-2.pl b/challenge-194/steve-g-lynn/perl/ch-2.pl index 72bc6baa55..65f6404b6f 100755 --- a/challenge-194/steve-g-lynn/perl/ch-2.pl +++ b/challenge-194/steve-g-lynn/perl/ch-2.pl @@ -3,12 +3,11 @@ use strict; use warnings; -use List::Util qw(min max); - print frequency_equalizer('abbc'),"\n"; #1 print frequency_equalizer('xyzyyxz'),"\n"; #1 print frequency_equalizer('xzxz'),"\n"; #0 - +print frequency_equalizer('abcde'),"\n"; #1 +print frequency_equalizer('abbbccc'),"\n"; #1 sub frequency_equalizer { my ($s) = @_; @@ -27,7 +26,8 @@ sub frequency_equalizer { @s = sort keys %uniq; - ( (scalar(@s)==2) && (min(@s)==(max(@s)-1)) ) && + ( (scalar(@s) <= 2) && ( ($s[0]==1) || + ( exists($s[1]) && (abs($s[1] - $s[0])==1) ) ) ) && (return 1); return 0; diff --git a/challenge-194/steve-g-lynn/raku/ch-2.p6 b/challenge-194/steve-g-lynn/raku/ch-2.p6 index 595f4fbcfc..16448dca44 100755 --- a/challenge-194/steve-g-lynn/raku/ch-2.p6 +++ b/challenge-194/steve-g-lynn/raku/ch-2.p6 @@ -3,6 +3,8 @@ say frequency-equalizer('abbc'); #1 say frequency-equalizer('xyzyyxz'); #1 say frequency-equalizer('xzxz'); #0 +say frequency-equalizer('abcde'); #1 +say frequency-equalizer('abbbccc'); #1 sub frequency-equalizer( Str $s ) { @@ -20,7 +22,7 @@ sub frequency-equalizer( Str $s ) { @s = %uniq.keys.sort; - ( ( @s.elems == 2 ) && (@s.min==(@s.max-1)) ) && + ( ( @s.elems <= 2 ) && ( @s.min==1 || (@s.min==(@s.max-1))) ) && (return 1); return 0; |
