diff options
| -rw-r--r-- | challenge-340/kjetillll/perl/ch-1.pl | 7 | ||||
| -rw-r--r-- | challenge-340/kjetillll/perl/ch-2.pl | 11 |
2 files changed, 18 insertions, 0 deletions
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"; + + |
