diff options
| -rw-r--r-- | challenge-078/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-078/jaldhar-h-vyas/perl/ch-1.pl | 19 | ||||
| -rwxr-xr-x | challenge-078/jaldhar-h-vyas/perl/ch-2.pl | 38 | ||||
| -rwxr-xr-x | challenge-078/jaldhar-h-vyas/raku/ch-1.sh | 1 | ||||
| -rwxr-xr-x | challenge-078/jaldhar-h-vyas/raku/ch-2.p6 | 12 |
5 files changed, 71 insertions, 0 deletions
diff --git a/challenge-078/jaldhar-h-vyas/blog.txt b/challenge-078/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..603d51f44e --- /dev/null +++ b/challenge-078/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2020/09/perl_weekly_challenge_week_78.html diff --git a/challenge-078/jaldhar-h-vyas/perl/ch-1.pl b/challenge-078/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..ddeff64952 --- /dev/null +++ b/challenge-078/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl +use 5.020; +use warnings; + +sub isLeader { + my ($n, @arr) = @_; + + for my $elem (@arr) { + if ($n <= $elem) { + return undef; + } + } + + return 1; +} + +my $l = scalar @ARGV - 1; +say join q{, }, + @ARGV[ grep { isLeader($ARGV[$_], @ARGV[($_ + 1) .. $l]) } 0 .. $l ];
\ No newline at end of file diff --git a/challenge-078/jaldhar-h-vyas/perl/ch-2.pl b/challenge-078/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..6868903206 --- /dev/null +++ b/challenge-078/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl +use 5.020; +use warnings; +use English qw/ -no_match_vars /; +use Getopt::Std; + +sub usage { + + print<<"-USAGE-"; +Usage: + $PROGRAM_NAME [-A=<" ... ">] [-B=<" ... ">] + + -A=<" ... "> A string consisting of integers separated by spaces. + -B=<" ... "> A string consisting of integers separated by spaces. +-USAGE- + + exit 0; +} + +sub rotate { + my ($n, $arr) = @_; + my @arr = @{$arr}; + + for (1 .. $n) { + push @arr, shift @arr; + } + + return @arr; +} + +our ($opt_A, $opt_B); + +getopts('A:B:'); + +my @A = split /\s+/, $opt_A // usage(); +my @B = split /\s+/, $opt_B // usage(); + +map { say q{[}, (join q{ }, rotate($_, \@A)), q{]}; } @B; diff --git a/challenge-078/jaldhar-h-vyas/raku/ch-1.sh b/challenge-078/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..e752ce70e6 --- /dev/null +++ b/challenge-078/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1 @@ +perl6 -e '@*ARGS[(0 ..^ @*ARGS.elems).grep({ @*ARGS[$_] > all @*ARGS[$_ + 1, ]:v; })].join(q{, }).say;' $@
\ No newline at end of file diff --git a/challenge-078/jaldhar-h-vyas/raku/ch-2.p6 b/challenge-078/jaldhar-h-vyas/raku/ch-2.p6 new file mode 100755 index 0000000000..8f052d0aac --- /dev/null +++ b/challenge-078/jaldhar-h-vyas/raku/ch-2.p6 @@ -0,0 +1,12 @@ +#!/usr/bin/perl6 + +sub MAIN( + :$A where {$_.defined}, #= A string consisting of integers separated by spaces. + :$B where {$_.defined} #= A string consisting of integers separated by spaces. +) { + my @A = $A.split(/\s+/); + my @B = $B.split(/\s+/); + + + @B.map({ @A.rotate($_).say; }); +}
\ No newline at end of file |
