diff options
| -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/); +} + |
