aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2022-12-06 08:48:50 -0600
committerLuis Mochan <mochan@fis.unam.mx>2022-12-06 08:48:50 -0600
commit14db3b829f65485eab9f4520d000cc48ba5449d3 (patch)
treefeda442792278b2d9187f1bc85e2b34a06e9c32b
parent0a04c02bb18e5816da378d6b389a53fc0d0e04cb (diff)
downloadperlweeklychallenge-club-14db3b829f65485eab9f4520d000cc48ba5449d3.tar.gz
perlweeklychallenge-club-14db3b829f65485eab9f4520d000cc48ba5449d3.tar.bz2
perlweeklychallenge-club-14db3b829f65485eab9f4520d000cc48ba5449d3.zip
Add pdl-less solution
-rwxr-xr-xchallenge-194/wlmb/perl/ch-2a.pl17
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
+}