diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-12-06 18:04:19 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-06 18:04:19 +0000 |
| commit | 8b1d1b4780157df141833a9d82da510d6238ab83 (patch) | |
| tree | 6aca7c34478172164cb518b5b59074d5108d754d | |
| parent | 92208b70f92aacde416f7ccf5d63f3a34a1b699e (diff) | |
| parent | 14db3b829f65485eab9f4520d000cc48ba5449d3 (diff) | |
| download | perlweeklychallenge-club-8b1d1b4780157df141833a9d82da510d6238ab83.tar.gz perlweeklychallenge-club-8b1d1b4780157df141833a9d82da510d6238ab83.tar.bz2 perlweeklychallenge-club-8b1d1b4780157df141833a9d82da510d6238ab83.zip | |
Merge pull request #7220 from wlmb/challenges
Add pdl-less solution
| -rwxr-xr-x | challenge-194/wlmb/perl/ch-2a.pl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/challenge-194/wlmb/perl/ch-2a.pl b/challenge-194/wlmb/perl/ch-2a.pl new file mode 100755 index 0000000000..34adb6f921 --- /dev/null +++ b/challenge-194/wlmb/perl/ch-2a.pl @@ -0,0 +1,17 @@ +#!/usr/bin/env perl +# Perl weekly challenge 194 +# Task 2: Frequency Equalizer. Without PDL +# +# See https://wlmb.github.io/2022/12/05/PWC194/#task-2-frequency-equalizer +use v5.36; +use List::Util qw(sum); +for(@ARGV){ + my %frequencies; + $frequencies{$_}++ for(split ""); + my @vals=values %frequencies; + my $N=@vals; + my $sum=sum @vals; + my $x=($sum-1)/$N; + my $t=sum map {$_*$_} @vals; + say "$_ -> ", $sum%$N==1 && $t==$N*$x**2 + 2*$x + 1? 1 :0 +} |
