aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2023-05-07 23:48:53 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2023-05-07 23:48:53 +0100
commitff626191f07da9a914a633f4340b3e0ef106104f (patch)
tree22559582862bca00c06d2ba67b56643df770195c
parentcefe02194d7cf1239ab94c8627c7ecd67aac366c (diff)
parent84327f71daac5f8479b939198e47970b5d23f356 (diff)
downloadperlweeklychallenge-club-ff626191f07da9a914a633f4340b3e0ef106104f.tar.gz
perlweeklychallenge-club-ff626191f07da9a914a633f4340b3e0ef106104f.tar.bz2
perlweeklychallenge-club-ff626191f07da9a914a633f4340b3e0ef106104f.zip
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
-rw-r--r--challenge-215/ribtips/README1
-rw-r--r--challenge-215/ribtips/perl/ch-1.pl35
-rw-r--r--challenge-215/ribtips/perl/ch-2.pl43
3 files changed, 79 insertions, 0 deletions
diff --git a/challenge-215/ribtips/README b/challenge-215/ribtips/README
new file mode 100644
index 0000000000..8e1eb6958f
--- /dev/null
+++ b/challenge-215/ribtips/README
@@ -0,0 +1 @@
+Solution by RibTips
diff --git a/challenge-215/ribtips/perl/ch-1.pl b/challenge-215/ribtips/perl/ch-1.pl
new file mode 100644
index 0000000000..f02c9d1d7e
--- /dev/null
+++ b/challenge-215/ribtips/perl/ch-1.pl
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+&main;
+
+sub main {
+ my @words=('abc','xyz','tsu');
+ &process_list(\@words);
+ my @words=('rat','cab','dad');
+ &process_list(\@words);
+ my @words=('x','y','z');
+ &process_list(\@words);
+}
+
+sub process_list {
+ my $array=shift;
+ my $output=0;
+ foreach my $word (@$array) {
+ $output+=&sort_string(\$word);
+ }
+ print "Output: $output\n";
+}
+
+sub sort_string {
+ my $word=shift;
+ my $sorted=join "", sort split //,$$word;
+ if ($sorted eq $$word) {
+ return(0);
+ }
+ else {
+ return(1);
+ }
+}
diff --git a/challenge-215/ribtips/perl/ch-2.pl b/challenge-215/ribtips/perl/ch-2.pl
new file mode 100644
index 0000000000..fcfa53c85c
--- /dev/null
+++ b/challenge-215/ribtips/perl/ch-2.pl
@@ -0,0 +1,43 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+&main;
+
+sub main {
+ my @nums=(1,0,0,0,1);
+ &stuff_in(\@nums,1);
+ @nums=(1,0,0,0,1);
+ &stuff_in(\@nums,2);
+ @nums=(1,0,0,0,0,0,0,0,1);
+ &stuff_in(\@nums,3);
+}
+
+sub stuff_in {
+ my $nums=shift;
+ my $count=shift;
+ my $inserts=0;
+ &print_it($nums);
+ for (my $i=1;$i<scalar(@$nums);$i++) {
+ if ($$nums[$i] == 0 and $$nums[$i-1] + $$nums[$i+1] == 0) {
+ $$nums[$i]=1;
+ $inserts++;
+ }
+ }
+ &print_it($nums);
+
+ if ($inserts == $count) {
+ print "Output: 1\n";
+ }
+ else {
+ print "Output: 0\n";
+ }
+
+}
+
+sub print_it {
+ my $array=shift;
+ my $string=join(",",@$array);
+ print " ($string) ";
+}