diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-07-22 00:19:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-22 00:19:26 +0100 |
| commit | 0e28495f6326206c40a97822f6556953c0d89f04 (patch) | |
| tree | e2573ee0befd4a14574bf76bc6cdceedb935998c | |
| parent | dc925ce12b5ee07bdde7653d84afea61e445ad23 (diff) | |
| parent | 2a1495b99a027801a82f3df4c524188e451d8664 (diff) | |
| download | perlweeklychallenge-club-0e28495f6326206c40a97822f6556953c0d89f04.tar.gz perlweeklychallenge-club-0e28495f6326206c40a97822f6556953c0d89f04.tar.bz2 perlweeklychallenge-club-0e28495f6326206c40a97822f6556953c0d89f04.zip | |
Merge pull request #12381 from akarelas/pr-akarelas
solutions to 331
| -rwxr-xr-x | challenge-331/alexander-karelas/perl/ch-1.pl | 16 | ||||
| -rwxr-xr-x | challenge-331/alexander-karelas/perl/ch-2.pl | 21 |
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-331/alexander-karelas/perl/ch-1.pl b/challenge-331/alexander-karelas/perl/ch-1.pl new file mode 100755 index 0000000000..392c84dcf8 --- /dev/null +++ b/challenge-331/alexander-karelas/perl/ch-1.pl @@ -0,0 +1,16 @@ +#!/usr/bin/env perl + +use v5.42; + +use Test2::V0; + +sub ll ($string) { + my ($word) = $string =~ /(\w+)\s*\z/; + return length $word; +} + +is ll("The Weekly Challenge"), 9, 'Example 1'; +is ll(" Hello World "), 5, 'Example 2'; +is ll("Let's begin the fun"), 3, 'Example 3'; + +done_testing; diff --git a/challenge-331/alexander-karelas/perl/ch-2.pl b/challenge-331/alexander-karelas/perl/ch-2.pl new file mode 100755 index 0000000000..5ca3d6029d --- /dev/null +++ b/challenge-331/alexander-karelas/perl/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/env perl + +use v5.42; + +use Test2::V0; + +sub buddy_strings ($str1, $str2) { + $str1 ne $str2 or return $str1 =~ /(\w).*\1/; + my @l = map [split //, $_], $str1, $str2; + $l[0]->@* == $l[1]->@* or return false; + + my @diffs = grep { $_ !~ /(\w)\1/ } map "$l[0][$_]$l[1][$_]", 0 .. $#{$l[0]}; + return @diffs == 2 && $diffs[0] eq reverse $diffs[1]; +} + +is buddy_strings('fuck', 'fcuk'), true, 'Example 1'; +is buddy_strings('love', 'love'), false, 'Example 2'; +is buddy_strings('fodo', 'food'), true, 'Example 3'; +is buddy_strings('feed', 'feed'), true, 'Example 4'; + +done_testing; |
