diff options
| author | Luis Mochan <mochan@fis.unam.mx> | 2022-12-05 18:45:03 -0600 |
|---|---|---|
| committer | Luis Mochan <mochan@fis.unam.mx> | 2022-12-05 18:45:03 -0600 |
| commit | e357360c1e5276c3a5dfc3bfbc26b1a509a5925e (patch) | |
| tree | ac569c85b45b71b6f069e0ec6aa3af9990401e38 | |
| parent | 8d4ad39acceae6916068d7661648e075877837cc (diff) | |
| download | perlweeklychallenge-club-e357360c1e5276c3a5dfc3bfbc26b1a509a5925e.tar.gz perlweeklychallenge-club-e357360c1e5276c3a5dfc3bfbc26b1a509a5925e.tar.bz2 perlweeklychallenge-club-e357360c1e5276c3a5dfc3bfbc26b1a509a5925e.zip | |
Solve PWC194
| -rw-r--r-- | challenge-194/wlmb/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-194/wlmb/perl/ch-1.pl | 17 | ||||
| -rwxr-xr-x | challenge-194/wlmb/perl/ch-2.pl | 17 |
3 files changed, 35 insertions, 0 deletions
diff --git a/challenge-194/wlmb/blog.txt b/challenge-194/wlmb/blog.txt new file mode 100644 index 0000000000..d7bfd69cbb --- /dev/null +++ b/challenge-194/wlmb/blog.txt @@ -0,0 +1 @@ +https://wlmb.github.io/2022/12/05/PWC194/ diff --git a/challenge-194/wlmb/perl/ch-1.pl b/challenge-194/wlmb/perl/ch-1.pl new file mode 100755 index 0000000000..158d5c71c6 --- /dev/null +++ b/challenge-194/wlmb/perl/ch-1.pl @@ -0,0 +1,17 @@ +#!/usr/bin/env perl +# Perl weekly challenge 194 +# Task 1: Digital Clock +# +# See https://wlmb.github.io/2022/12/05/PWC194/#task-1-digital-clock +use v5.36; +#Perl @PerlWChallenge 194 Task 1: Digital Clock + +L: for my $in(@ARGV){ + for(reverse(0..9)){ + my $y=$in; + $y=~s/\?/$_/; + say("Wrong format $in"), next L unless $y=~/(\d\d):(\d\d)/; + say("$in -> $_"), next L if $1<=23 and $2<=59 + } + say "$in -> No solution"; +} diff --git a/challenge-194/wlmb/perl/ch-2.pl b/challenge-194/wlmb/perl/ch-2.pl new file mode 100755 index 0000000000..dcb77a5ce8 --- /dev/null +++ b/challenge-194/wlmb/perl/ch-2.pl @@ -0,0 +1,17 @@ +#!/usr/bin/env perl +# Perl weekly challenge 194 +# Task 2: Frequency Equalizer +# +# See https://wlmb.github.io/2022/12/05/PWC194/#task-2-frequency-equalizer +use v5.36; +use PDL; +for(@ARGV){ + my %frequencies; + $frequencies{$_}++ for(split ""); + my $vals=pdl(my @vals=values %frequencies); + my $N=@vals; + my $sum=$vals->sum; + my $x=($sum-1)/$N; + my $t=($vals**2)->sum; + say "$_ -> ", $sum%$N==1 && $t==$N*$x**2 + 2*$x + 1? 1 :0 +} |
