diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-06-15 17:15:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-15 17:15:18 +0100 |
| commit | d9567023ca97e98f6542f82f4573ccff3831f1f2 (patch) | |
| tree | 7d0d4ee45f84ed1b796bc0a4edb5bec97f735e14 | |
| parent | 8c6f34bf9d84980ec9b50b2d1555db2a901ef779 (diff) | |
| parent | 96aeafd6603b8a36258b6212e84552e6670aa89a (diff) | |
| download | perlweeklychallenge-club-d9567023ca97e98f6542f82f4573ccff3831f1f2.tar.gz perlweeklychallenge-club-d9567023ca97e98f6542f82f4573ccff3831f1f2.tar.bz2 perlweeklychallenge-club-d9567023ca97e98f6542f82f4573ccff3831f1f2.zip | |
Merge pull request #4268 from jaldhar/challenge-115
Challenge 115 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-115/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-115/jaldhar-h-vyas/perl/ch-1.pl | 19 | ||||
| -rwxr-xr-x | challenge-115/jaldhar-h-vyas/perl/ch-2.pl | 22 | ||||
| -rwxr-xr-x | challenge-115/jaldhar-h-vyas/raku/ch-1.raku | 19 | ||||
| -rwxr-xr-x | challenge-115/jaldhar-h-vyas/raku/ch-2.raku | 22 |
5 files changed, 83 insertions, 0 deletions
diff --git a/challenge-115/jaldhar-h-vyas/blog.txt b/challenge-115/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..3dec96d1c9 --- /dev/null +++ b/challenge-115/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2021/06/perl_weekly_challenge_week_115.html diff --git a/challenge-115/jaldhar-h-vyas/perl/ch-1.pl b/challenge-115/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..eb9ba1fed0 --- /dev/null +++ b/challenge-115/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl +use 5.020; +use warnings; + +my (%first, %last); + +for my $arg (@ARGV) { + $first{substr($arg, 0, 1)} = 1; + $last{substr($arg, -1, 1)} = 1; +} + +for my $key (keys %first) { + unless (exists $last{$key}) { + say 0; + exit; + } +} +say 1; + diff --git a/challenge-115/jaldhar-h-vyas/perl/ch-2.pl b/challenge-115/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..6b199b65ce --- /dev/null +++ b/challenge-115/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl +use 5.020; +use warnings; + +my @N = sort { $b <=> $a } @ARGV; + +if ($N[-1] % 2 == 1) { + my $lasteven = -1; + while (defined $N[$lasteven] && $N[$lasteven] % 2 == 1) { + $lasteven--; + } + + if (defined $N[$lasteven]) { + my $temp = $N[$lasteven]; + splice @N, $lasteven, 1; + push @N, $temp; + } else { + $N[-1]--; + } +} + +say join q{}, @N;
\ No newline at end of file diff --git a/challenge-115/jaldhar-h-vyas/raku/ch-1.raku b/challenge-115/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..4aac5f31df --- /dev/null +++ b/challenge-115/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/raku + +sub MAIN(*@args) { + my (%first, %last); + + for @args -> $arg { + %first{$arg.substr(0, 1)} = True; + %last{$arg.substr(*-1, 1)} = True; + } + + for %first.keys -> $key { + unless %last{$key}:exists { + say 0; + exit; + } + } + say 1; +} + diff --git a/challenge-115/jaldhar-h-vyas/raku/ch-2.raku b/challenge-115/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..da4c34b6bc --- /dev/null +++ b/challenge-115/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,22 @@ +#!/usr/bin/raku + +sub MAIN(*@args) { + my @N = @args.sort({$^b <=> $^a}); + + if @N[*-1] % 2 == 1 { + my $lasteven = 1; + while @N[*-$lasteven] !~~ Nil && @N[*-$lasteven] % 2 == 1 { + $lasteven++; + } + + if @N[*-$lasteven] !~~ Nil { + my $temp = @N[*-$lasteven]; + @N.splice(*-$lasteven, 1); + @N.push($temp); + } else { + @N[*-1]--; + } + } + + @N.join.say; +}
\ No newline at end of file |
