diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-08-12 23:30:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-12 23:30:19 +0100 |
| commit | 00db36ded945c571e93e885c48b9736138eaf138 (patch) | |
| tree | 68d7f1a8a39193257109a9947c62d7861457d66c /challenge-282 | |
| parent | 425daded4197a18d2c44939e18d97f15e2599646 (diff) | |
| parent | 00f66437b01e583e9b4c7f415551f37445f9650b (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rw-r--r-- | challenge-282/adam-russell/perl/ch-1.pl | 19 | ||||
| -rw-r--r-- | challenge-282/adam-russell/perl/ch-2.pl | 26 |
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/); +} + |
