From f5fb08de2e64de1f26237b03f3965b9b4e3e79b3 Mon Sep 17 00:00:00 2001 From: carlos157oliveira Date: Tue, 13 Dec 2022 22:54:29 -0300 Subject: feat: perl solution to challenge 195 --- challenge-195/carlos-oliveira/README | 1 + challenge-195/carlos-oliveira/perl/ch-1.pl | 11 +++++++++++ challenge-195/carlos-oliveira/perl/ch-2.pl | 30 ++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 challenge-195/carlos-oliveira/README create mode 100644 challenge-195/carlos-oliveira/perl/ch-1.pl create mode 100644 challenge-195/carlos-oliveira/perl/ch-2.pl (limited to 'challenge-195') 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"; + -- cgit