aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-12-27 12:59:10 +0000
committerGitHub <noreply@github.com>2022-12-27 12:59:10 +0000
commit8b9754f0e1b4cb4416b2b3bdcc05c151675bc6fb (patch)
tree1920356df6311f1564bf26671246e5dbc69a6462
parenta7ac1f1663af356538a8b9d03670778625597cc7 (diff)
parent44da709707868ab19c3880a76e584b7cbd587ab7 (diff)
downloadperlweeklychallenge-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.pl14
-rw-r--r--challenge-197/carlos-oliveira/perl/ch-2.pl27
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 @_;
+}