diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-02-27 11:17:35 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-27 11:17:35 +0000 |
| commit | 9287a1c4725b139fcd60fae27cfcb2b8f8af23b2 (patch) | |
| tree | da0a58f9bef7db77c34f6d10d5e04113deb1d077 | |
| parent | 396d0f043a77cb03441e6de294fbb4bd3aac4e44 (diff) | |
| parent | 5a1661fab22851502a6aba4416029438e456e500 (diff) | |
| download | perlweeklychallenge-club-9287a1c4725b139fcd60fae27cfcb2b8f8af23b2.tar.gz perlweeklychallenge-club-9287a1c4725b139fcd60fae27cfcb2b8f8af23b2.tar.bz2 perlweeklychallenge-club-9287a1c4725b139fcd60fae27cfcb2b8f8af23b2.zip | |
Merge pull request #9651 from PerlBoy1967/branch-for-challenge-258
w258 - Task 1 & 2
| -rwxr-xr-x | challenge-258/perlboy1967/perl/ch1.pl | 34 | ||||
| -rwxr-xr-x | challenge-258/perlboy1967/perl/ch2.pl | 39 |
2 files changed, 73 insertions, 0 deletions
diff --git a/challenge-258/perlboy1967/perl/ch1.pl b/challenge-258/perlboy1967/perl/ch1.pl new file mode 100755 index 0000000000..7b12ee6549 --- /dev/null +++ b/challenge-258/perlboy1967/perl/ch1.pl @@ -0,0 +1,34 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 258 +- https://theweeklychallenge.org/blog/perl-weekly-challenge-258 + +Author: Niels 'PerlBoy' van Dijke + +Task 1: Count Even Digits Number +Submitted by: Mohammad Sajid Anwar + +You are given a array of positive integers, @ints. + +Write a script to find out how many integers have even number of digits. + +=cut + +use v5.32; +use feature qw(signatures); +use common::sense; + +use Test2::V0; + +sub evenDigits (@ints) { + scalar grep { /^\d+$/ and (length $_) % 2 == 0 } @ints; +} + +is(evenDigits(10,1,111,24,1000),3); +is(evenDigits(111,1,11111),0); +is(evenDigits(2,8,1024,256),1); +is(evenDigits(20,'Perl',1234),2); + +done_testing; diff --git a/challenge-258/perlboy1967/perl/ch2.pl b/challenge-258/perlboy1967/perl/ch2.pl new file mode 100755 index 0000000000..0c7501df71 --- /dev/null +++ b/challenge-258/perlboy1967/perl/ch2.pl @@ -0,0 +1,39 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 258 +- https://theweeklychallenge.org/blog/perl-weekly-challenge-258 + +Author: Niels 'PerlBoy' van Dijke + +Task 2: Sum of Values +Submitted by: Mohammad Sajid Anwar + +You are given an array of integers, @int and an integer $k. + +Write a script to find the sum of values whose index binary representation has exactly +$k number of 1-bit set. + +=cut + +use v5.32; +use feature qw(signatures); +use common::sense; + +use Test2::V0; + +use List::Util qw(sum0); + +sub sumOfValues ($k,@ints) { + sum0 map { $ints[$_] } grep { + my $b = sprintf('%b',$_); + length($b =~ s#0##gr) == $k; + } (0 .. $#ints); +} + +is(sumOfValues(1,2,5,9,11,3),17); +is(sumOfValues(2,2,5,9,11,3),11); +is(sumOfValues(0,2,5,9,11,3),2); + +done_testing; |
