aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-02-27 11:17:35 +0000
committerGitHub <noreply@github.com>2024-02-27 11:17:35 +0000
commit9287a1c4725b139fcd60fae27cfcb2b8f8af23b2 (patch)
treeda0a58f9bef7db77c34f6d10d5e04113deb1d077
parent396d0f043a77cb03441e6de294fbb4bd3aac4e44 (diff)
parent5a1661fab22851502a6aba4416029438e456e500 (diff)
downloadperlweeklychallenge-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-xchallenge-258/perlboy1967/perl/ch1.pl34
-rwxr-xr-xchallenge-258/perlboy1967/perl/ch2.pl39
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;