diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-12-14 08:55:48 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-14 08:55:48 +0000 |
| commit | 8869540a4282483865a7115d91fad45320525191 (patch) | |
| tree | ed59fb51fe748f11b4d5e692e6a0ad21791315d1 | |
| parent | 03afabe9463c8aa4b186f922d5d008503e5e4db8 (diff) | |
| parent | f5fb08de2e64de1f26237b03f3965b9b4e3e79b3 (diff) | |
| download | perlweeklychallenge-club-8869540a4282483865a7115d91fad45320525191.tar.gz perlweeklychallenge-club-8869540a4282483865a7115d91fad45320525191.tar.bz2 perlweeklychallenge-club-8869540a4282483865a7115d91fad45320525191.zip | |
Merge pull request #7254 from carlos157oliveira/feat/perl-solution-challenge-195
feat: perl solution to challenge 195
| -rw-r--r-- | challenge-195/carlos-oliveira/README | 1 | ||||
| -rw-r--r-- | challenge-195/carlos-oliveira/perl/ch-1.pl | 11 | ||||
| -rw-r--r-- | challenge-195/carlos-oliveira/perl/ch-2.pl | 30 |
3 files changed, 42 insertions, 0 deletions
diff --git a/challenge-195/carlos-oliveira/README b/challenge-195/carlos-oliveira/README new file mode 100644 index 0000000000..f8182f8301 --- /dev/null +++ b/challenge-195/carlos-oliveira/README @@ -0,0 +1 @@ +Solution by Carlos Eduardo de Oliveira. diff --git a/challenge-195/carlos-oliveira/perl/ch-1.pl b/challenge-195/carlos-oliveira/perl/ch-1.pl new file mode 100644 index 0000000000..eb1c905189 --- /dev/null +++ b/challenge-195/carlos-oliveira/perl/ch-1.pl @@ -0,0 +1,11 @@ +use strict; +use warnings; + +sub specialIntegers { + my ($limit) = @_; + return scalar grep { $_ !~ /(.).*\1/; } 1..$limit; +} + +print specialIntegers(15), "\n"; # Output: 14 +print specialIntegers(35), "\n"; # Output: 32 + diff --git a/challenge-195/carlos-oliveira/perl/ch-2.pl b/challenge-195/carlos-oliveira/perl/ch-2.pl new file mode 100644 index 0000000000..c0a63c7f94 --- /dev/null +++ b/challenge-195/carlos-oliveira/perl/ch-2.pl @@ -0,0 +1,30 @@ +use strict; +use warnings; + +sub mostFrequentEven { + my @numbers = sort @_; + my $currentNumber = $numbers[0]; + my $maxEven = -1; + my $maxCount = 0; + my $currentCount = 0; + for my $elem (@numbers) { + next if $elem % 2; + if ($currentNumber == $elem) { + $currentCount++; + } else { + $currentCount = 1; + $currentNumber = $elem; + } + if ($currentCount > $maxCount) { + $maxEven = $elem; + $maxCount = $currentCount; + } + } + return $maxEven; +} + +print mostFrequentEven(1,1,2,6,2), "\n"; +print mostFrequentEven(1,3,5,7), "\n"; +print mostFrequentEven(6,4,4,6,1), "\n"; +print mostFrequentEven(6,4,4,6,1,8,8,8), "\n"; + |
