aboutsummaryrefslogtreecommitdiff
path: root/challenge-282
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-08-12 23:30:19 +0100
committerGitHub <noreply@github.com>2024-08-12 23:30:19 +0100
commit00db36ded945c571e93e885c48b9736138eaf138 (patch)
tree68d7f1a8a39193257109a9947c62d7861457d66c /challenge-282
parent425daded4197a18d2c44939e18d97f15e2599646 (diff)
parent00f66437b01e583e9b4c7f415551f37445f9650b (diff)
downloadperlweeklychallenge-club-00db36ded945c571e93e885c48b9736138eaf138.tar.gz
perlweeklychallenge-club-00db36ded945c571e93e885c48b9736138eaf138.tar.bz2
perlweeklychallenge-club-00db36ded945c571e93e885c48b9736138eaf138.zip
Merge pull request #10601 from adamcrussell/challenge-282
initial commit
Diffstat (limited to 'challenge-282')
-rw-r--r--challenge-282/adam-russell/blog.txt1
-rw-r--r--challenge-282/adam-russell/perl/ch-1.pl19
-rw-r--r--challenge-282/adam-russell/perl/ch-2.pl26
3 files changed, 46 insertions, 0 deletions
diff --git a/challenge-282/adam-russell/blog.txt b/challenge-282/adam-russell/blog.txt
new file mode 100644
index 0000000000..e843b19721
--- /dev/null
+++ b/challenge-282/adam-russell/blog.txt
@@ -0,0 +1 @@
+http://www.rabbitfarm.com/cgi-bin/blosxom/perl/2024/08/12
diff --git a/challenge-282/adam-russell/perl/ch-1.pl b/challenge-282/adam-russell/perl/ch-1.pl
new file mode 100644
index 0000000000..775fcddef8
--- /dev/null
+++ b/challenge-282/adam-russell/perl/ch-1.pl
@@ -0,0 +1,19 @@
+
+
+use v5.38;
+
+
+sub good_integer{
+ my($x) = @_;
+ return qq/$1$2/ if $x =~ m/([0-9])(\1{2,})/ &&
+ length qq/$1$2/ == 3;
+ return -1;
+}
+
+
+MAIN:{
+ say good_integer q/12344456/;
+ say good_integer q/1233334/;
+ say good_integer q/10020003/;
+}
+
diff --git a/challenge-282/adam-russell/perl/ch-2.pl b/challenge-282/adam-russell/perl/ch-2.pl
new file mode 100644
index 0000000000..6144817830
--- /dev/null
+++ b/challenge-282/adam-russell/perl/ch-2.pl
@@ -0,0 +1,26 @@
+
+
+use v5.38;
+
+
+sub count_key_changes{
+ my($s) = @_;
+ my $count = 0;
+ my @s = split //, lc $s;
+ {
+ my $x = shift @s;
+ my $y = shift @s;
+ $count++ if $x && $y && $x ne $y;
+ unshift @s, $y if $y;
+ redo if @s;
+ }
+ return $count;
+}
+
+
+MAIN:{
+ say count_key_changes(q/pPeERrLl/);
+ say count_key_changes(q/rRr/);
+ say count_key_changes(q/GoO/);
+}
+