diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-12-27 12:59:10 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-27 12:59:10 +0000 |
| commit | 8b9754f0e1b4cb4416b2b3bdcc05c151675bc6fb (patch) | |
| tree | 1920356df6311f1564bf26671246e5dbc69a6462 | |
| parent | a7ac1f1663af356538a8b9d03670778625597cc7 (diff) | |
| parent | 44da709707868ab19c3880a76e584b7cbd587ab7 (diff) | |
| download | perlweeklychallenge-club-8b9754f0e1b4cb4416b2b3bdcc05c151675bc6fb.tar.gz perlweeklychallenge-club-8b9754f0e1b4cb4416b2b3bdcc05c151675bc6fb.tar.bz2 perlweeklychallenge-club-8b9754f0e1b4cb4416b2b3bdcc05c151675bc6fb.zip | |
Merge pull request #7315 from carlos157oliveira/challenge-197
feat: solution to challenge 197
| -rw-r--r-- | challenge-197/carlos-oliveira/perl/ch-1.pl | 14 | ||||
| -rw-r--r-- | challenge-197/carlos-oliveira/perl/ch-2.pl | 27 |
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-197/carlos-oliveira/perl/ch-1.pl b/challenge-197/carlos-oliveira/perl/ch-1.pl new file mode 100644 index 0000000000..61e4473855 --- /dev/null +++ b/challenge-197/carlos-oliveira/perl/ch-1.pl @@ -0,0 +1,14 @@ +use strict; +use warnings; + +use Data::Dump; + +sub moveZero { + my @listWithoutZeros = grep { $_ != 0 } @_; + return @listWithoutZeros, (0) x (@_ - @listWithoutZeros); +} + +dd moveZero 1, 0, 3, 0, 0, 5; +dd moveZero 1, 6, 4; +dd moveZero 0, 1, 0, 2, 0; + diff --git a/challenge-197/carlos-oliveira/perl/ch-2.pl b/challenge-197/carlos-oliveira/perl/ch-2.pl new file mode 100644 index 0000000000..6219c64d9c --- /dev/null +++ b/challenge-197/carlos-oliveira/perl/ch-2.pl @@ -0,0 +1,27 @@ +use strict; +use warnings; +use 5.36.0; +use Data::Dump; + + +sub wiggle; + + +dd wiggle 1,5,1,1,6,4; +dd wiggle 1,3,2,2,3,1; +dd wiggle 9,8,7,6,5,4,3,2,1; + + +sub wiggle { + my $originalLength = @_; + @_ = sort @_; + my $offset = int @_ / 2; + my @pivots = splice @_, -$offset, $offset; + + for my $i ( reverse 1 .. $#_ + ($originalLength % 2 == 0) ) { + my $pivot = pop @pivots; + splice @_, $i, 0, $pivot; + } + + return @_; +} |
