diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2025-11-01 17:43:50 -0400 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2025-11-02 00:20:41 -0400 |
| commit | a5cbfc01ea94263fe31e5bf45258008a1ab2c8fa (patch) | |
| tree | 811df0e4dfbdf75cd650f499d16067064a773418 | |
| parent | e67574497a20bad40be2e73bc1c1890729e3990d (diff) | |
| download | perlweeklychallenge-club-a5cbfc01ea94263fe31e5bf45258008a1ab2c8fa.tar.gz perlweeklychallenge-club-a5cbfc01ea94263fe31e5bf45258008a1ab2c8fa.tar.bz2 perlweeklychallenge-club-a5cbfc01ea94263fe31e5bf45258008a1ab2c8fa.zip | |
Challenge 345 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-345/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-345/jaldhar-h-vyas/perl/ch-1.pl | 22 | ||||
| -rwxr-xr-x | challenge-345/jaldhar-h-vyas/perl/ch-2.pl | 21 | ||||
| -rwxr-xr-x | challenge-345/jaldhar-h-vyas/raku/ch-1.raku | 23 | ||||
| -rwxr-xr-x | challenge-345/jaldhar-h-vyas/raku/ch-2.raku | 21 |
5 files changed, 88 insertions, 0 deletions
diff --git a/challenge-345/jaldhar-h-vyas/blog.txt b/challenge-345/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..3bdf9a8e7a --- /dev/null +++ b/challenge-345/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2025/11/perl_weekly_challenge_week_345.html diff --git a/challenge-345/jaldhar-h-vyas/perl/ch-1.pl b/challenge-345/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..d0e64e4db4 --- /dev/null +++ b/challenge-345/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +my @ints = @ARGV; +my @peaks; + +if ($ints[0] > $ints[1]) { + push @peaks, 0; +} + +for my $i (1 .. scalar @ints - 2) { + if ($ints[$i - 1] < $ints[$i] > $ints[$i + 1]) { + push @peaks, $i; + } +} + +if ($ints[-1] > $ints[-2]) { + push @peaks, $#ints; +} + +say q{(}, (join q{, }, @peaks), q{)}; diff --git a/challenge-345/jaldhar-h-vyas/perl/ch-2.pl b/challenge-345/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..73a7397200 --- /dev/null +++ b/challenge-345/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +my @ints = @ARGV; +my @seen; +my @ans; +my $x = 0; + +for my $i (keys @ints) { + if ($ints[$i] == -1) { + push @ans, ($x < scalar @seen) ? $seen[$x] : -1; + $x++; + } else { + unshift @seen, $ints[$i]; + $x = 0; + } +} + + +say q{(}, (join q{, }, @ans), q{)}; diff --git a/challenge-345/jaldhar-h-vyas/raku/ch-1.raku b/challenge-345/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..b7238812b8 --- /dev/null +++ b/challenge-345/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/raku + +sub MAIN( + *@ints +) { + my @peaks; + + if @ints[0] > @ints[1] { + @peaks.push(0); + } + + for 1 ..^ @ints.end -> $i { + if @ints[$i -1] < @ints[$i] > @ints[$i + 1] { + @peaks.push($i); + } + } + + if @ints[*-1] > @ints[*-2] { + @peaks.push(*-1); + } + + say q{(}, @peaks.join(q{, }), q{)}; +} diff --git a/challenge-345/jaldhar-h-vyas/raku/ch-2.raku b/challenge-345/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..7ac2da84b8 --- /dev/null +++ b/challenge-345/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/raku + +sub MAIN( + *@ints +) { + my @seen; + my @ans; + my $x = 0; + + for @ints.keys -> $i { + if @ints[$i] == -1 { + @ans.push( $x < @seen.elems ?? @seen[$x] !! -1); + $x++; + } else { + @seen.unshift(@ints[$i]); + $x = 0; + } + } + + say q{(}, @ans.join(q{, }), q{)}; +} |
