diff options
| -rw-r--r-- | challenge-348/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-348/jaldhar-h-vyas/perl/ch-1.pl | 17 | ||||
| -rwxr-xr-x | challenge-348/jaldhar-h-vyas/perl/ch-2.pl | 27 | ||||
| -rwxr-xr-x | challenge-348/jaldhar-h-vyas/raku/ch-1.raku | 14 | ||||
| -rwxr-xr-x | challenge-348/jaldhar-h-vyas/raku/ch-2.raku | 27 |
5 files changed, 86 insertions, 0 deletions
diff --git a/challenge-348/jaldhar-h-vyas/blog.txt b/challenge-348/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..9c723ec713 --- /dev/null +++ b/challenge-348/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2025/11/perl_weekly_challenge_week_348.html diff --git a/challenge-348/jaldhar-h-vyas/perl/ch-1.pl b/challenge-348/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..deff7a35cb --- /dev/null +++ b/challenge-348/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,17 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +my $str = shift; + +my $mid = (length $str) / 2; +my $first = substr $str, 0, $mid; +my $second = substr $str, $mid; +my $vowels = qr/([aeiouAEIOU])/; +my $firstVowels = @{[ $first =~ /$vowels/g ]}; +my $secondVowels = @{[ $second =~ /$vowels/g ]}; + +say 0+($firstVowels > 0 && $secondVowels > 0 && $firstVowels == $secondVowels) + ? 'true' + : 'false'; + diff --git a/challenge-348/jaldhar-h-vyas/perl/ch-2.pl b/challenge-348/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..927f8a759f --- /dev/null +++ b/challenge-348/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +my ($source, $target) = @ARGV; + +my ($sourceHours, $sourceMinutes) = split /:/, $source; +my ($targetHours, $targetMinutes) = split /:/, $target; + +if ($targetHours < $sourceHours) { + $targetHours += 24; +} + +my $diff = ($targetHours * 60 + $targetMinutes) - + ($sourceHours * 60 + $sourceMinutes); +my @ops = (60, 15, 5, 1); +my $count = 0; + +for my $op (@ops) { + while ($diff >= $op) { + $diff -= $op; + $count++; + } +} + +say $count; + diff --git a/challenge-348/jaldhar-h-vyas/raku/ch-1.raku b/challenge-348/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..6635e834bc --- /dev/null +++ b/challenge-348/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,14 @@ +#!/usr/bin/raku + +sub MAIN( + $str +) { + my $mid = $str.chars / 2; + my $first = $str.substr(0, $mid); + my $second = $str.substr($mid); + my $vowels = / (<[a e i o u A E I O U]>) /; + my $firstVowels = $first.match($vowels, :g).elems; + my $secondVowels = $second.match($vowels, :g).elems; + + say $firstVowels > 0 && $secondVowels > 0 && $firstVowels == $secondVowels; +}
\ No newline at end of file diff --git a/challenge-348/jaldhar-h-vyas/raku/ch-2.raku b/challenge-348/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..14e78bd2cd --- /dev/null +++ b/challenge-348/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,27 @@ +#!/usr/bin/raku + +sub MAIN( + $source, + $target +) { + my ($sourceHours, $sourceMinutes) = $source.split(':'); + my ($targetHours, $targetMinutes) = $target.split(':'); + + if $targetHours < $sourceHours { + $targetHours += 24; + } + + my $diff = ($targetHours * 60 + $targetMinutes) - + ($sourceHours * 60 + $sourceMinutes); + my @ops = 60, 15, 5, 1; + my $count = 0; + + for @ops -> $op { + while $diff >= $op { + $diff -= $op; + $count++; + } + } + + say $count; +}
\ No newline at end of file |
