From 25edfe826e2c2a5dadb25bef935d53242647e0a8 Mon Sep 17 00:00:00 2001 From: KjetilS Date: Wed, 24 Sep 2025 22:17:47 +0200 Subject: https://theweeklychallenge.org/blog/perl-weekly-challenge-340/ --- challenge-340/kjetillll/perl/ch-1.pl | 7 +++++++ challenge-340/kjetillll/perl/ch-2.pl | 11 +++++++++++ 2 files changed, 18 insertions(+) create mode 100644 challenge-340/kjetillll/perl/ch-1.pl create mode 100644 challenge-340/kjetillll/perl/ch-2.pl diff --git a/challenge-340/kjetillll/perl/ch-1.pl b/challenge-340/kjetillll/perl/ch-1.pl new file mode 100644 index 0000000000..c14bba0484 --- /dev/null +++ b/challenge-340/kjetillll/perl/ch-1.pl @@ -0,0 +1,7 @@ +sub f { $_[0] =~ /(.)\1/ ? f( $` . $' ) : pop } + +print f('abbaca') eq 'ca' ? "ok\n" : "error\n"; +print f('azxxzy') eq 'ay' ? "ok\n" : "error\n"; +print f('aaaaaaaa') eq '' ? "ok\n" : "error\n"; +print f('aabccba') eq 'a' ? "ok\n" : "error\n"; +print f('abcddcba') eq '' ? "ok\n" : "error\n"; diff --git a/challenge-340/kjetillll/perl/ch-2.pl b/challenge-340/kjetillll/perl/ch-2.pl new file mode 100644 index 0000000000..9512da15b1 --- /dev/null +++ b/challenge-340/kjetillll/perl/ch-2.pl @@ -0,0 +1,11 @@ +use List::Util 'uniq'; + +sub f { my @nums = pop =~ /\d+/g; "@{[ uniq sort { $a <=> $b } @nums ]}" eq "@nums" } + +print f("The cat has 3 kittens 7 toys 10 beds") == 1 ? "ok\n" : "error\n"; +print f('Alice bought 5 apples 2 oranges 9 bananas') == 0 ? "ok\n" : "error\n"; +print f('I ran 1 mile 2 days 3 weeks 4 months') == 1 ? "ok\n" : "error\n"; +print f('Bob has 10 cars 10 bikes') == 0 ? "ok\n" : "error\n"; +print f('Zero is 0 one is 1 two is 2') == 1 ? "ok\n" : "error\n"; + + -- cgit