diff options
| -rw-r--r-- | challenge-349/kjetillll/perl/ch-1.pl | 7 | ||||
| -rw-r--r-- | challenge-349/kjetillll/perl/ch-2.pl | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/challenge-349/kjetillll/perl/ch-1.pl b/challenge-349/kjetillll/perl/ch-1.pl new file mode 100644 index 0000000000..99dc8746ae --- /dev/null +++ b/challenge-349/kjetillll/perl/ch-1.pl @@ -0,0 +1,7 @@ +sub f { ( sort {$b<=>$a} map length, pop =~ /((.)\2*)/g )[0] } + +print f("textbook") == 2 ? "ok\n" : "error\n"; +print f("aaaaa") == 5 ? "ok\n" : "error\n"; +print f("hoorayyy") == 3 ? "ok\n" : "error\n"; +print f("x") == 1 ? "ok\n" : "error\n"; +print f("aabcccddeeffffghijjk") == 4 ? "ok\n" : "error\n"; diff --git a/challenge-349/kjetillll/perl/ch-2.pl b/challenge-349/kjetillll/perl/ch-2.pl new file mode 100644 index 0000000000..37eedbb12c --- /dev/null +++ b/challenge-349/kjetillll/perl/ch-2.pl @@ -0,0 +1,12 @@ +sub f { + my( $s, %c ) = @_; + $s !~ s{ ^. }{ ++$c{$&}; '' }ex ? 0 + :$c{U} == $c{D} && $c{L} == $c{R} ? 1 + :f($s, %c) +} + +print!f("ULD") ? "ok\n" : "error\n"; +print f("ULDR") ? "ok\n" : "error\n"; +print!f("UUURRRDDD") ? "ok\n" : "error\n"; +print f("UURRRDDLLL") ? "ok\n" : "error\n"; +print f("RRUULLDDRRUU") ? "ok\n" : "error\n"; |
