diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-12-06 14:08:15 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-06 14:08:15 +0000 |
| commit | 0a04c02bb18e5816da378d6b389a53fc0d0e04cb (patch) | |
| tree | 446c00a043429ecaa22ff1a4fd35a47f8f78b85c | |
| parent | 486fb06a789290b642c7019c381b5145b0a21b42 (diff) | |
| parent | e357360c1e5276c3a5dfc3bfbc26b1a509a5925e (diff) | |
| download | perlweeklychallenge-club-0a04c02bb18e5816da378d6b389a53fc0d0e04cb.tar.gz perlweeklychallenge-club-0a04c02bb18e5816da378d6b389a53fc0d0e04cb.tar.bz2 perlweeklychallenge-club-0a04c02bb18e5816da378d6b389a53fc0d0e04cb.zip | |
Merge pull request #7215 from wlmb/challenges
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 +} |
