diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-08-19 13:23:04 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-19 13:23:04 +0100 |
| commit | dec8a0aee2736864989365e5ac81295527418d0a (patch) | |
| tree | c9a7cfa9f0c45a63f30e895629a88ee516582d1e | |
| parent | 55d25c2a77bd59d430ed8ca7844b560f803f0d42 (diff) | |
| parent | 6e373127a7c1bc8cc7ac4c0be0e43452ef1264fa (diff) | |
| download | perlweeklychallenge-club-dec8a0aee2736864989365e5ac81295527418d0a.tar.gz perlweeklychallenge-club-dec8a0aee2736864989365e5ac81295527418d0a.tar.bz2 perlweeklychallenge-club-dec8a0aee2736864989365e5ac81295527418d0a.zip | |
Merge pull request #10654 from kjetillll/challenge-283-kjetillll
https://theweeklychallenge.org/blog/perl-weekly-challenge-283/
| -rw-r--r-- | challenge-283/kjetillll/perl/ch-1.pl | 14 | ||||
| -rw-r--r-- | challenge-283/kjetillll/perl/ch-2.pl | 14 |
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-283/kjetillll/perl/ch-1.pl b/challenge-283/kjetillll/perl/ch-1.pl new file mode 100644 index 0000000000..abbf5287d4 --- /dev/null +++ b/challenge-283/kjetillll/perl/ch-1.pl @@ -0,0 +1,14 @@ +use strict; use warnings; use Test::More tests=>5; + +sub once { + my %freq; + $freq{$_}++ for @_; + $freq{$_}==1 and return $_ for @_; + undef +} + +is once( 3, 3, 1 ) => 1; +is once( 3, 2, 4, 2, 4 ) => 3; +is once( 1 ) => 1; +is once( 4, 3, 1, 1, 1, 4 ) => 3; +is once( (1..9) x 2 ) => undef; diff --git a/challenge-283/kjetillll/perl/ch-2.pl b/challenge-283/kjetillll/perl/ch-2.pl new file mode 100644 index 0000000000..487474eca6 --- /dev/null +++ b/challenge-283/kjetillll/perl/ch-2.pl @@ -0,0 +1,14 @@ +use strict; use warnings; use List::Util 'any'; use Test::More tests=>5; + +sub dcv { + my %freq; + $freq{$_}++ for @_; + not any { $_[$_] != ($freq{$_}//0) } 0 .. $#_; +} + +my($true,$false)=(1,''); +is dcv(1,2,1,0) => $true; +is dcv(0,3,0) => $false; +is dcv(2,1,2,0,0) => $true; +is dcv(3,2,1,1,0,0,0) => $true; +is dcv(5,2,1,0,0,1,0,0,0) => $true; |
