aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-349/kjetillll/perl/ch-1.pl7
-rw-r--r--challenge-349/kjetillll/perl/ch-2.pl9
2 files changed, 16 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..f50a5ecd43
--- /dev/null
+++ b/challenge-349/kjetillll/perl/ch-2.pl
@@ -0,0 +1,9 @@
+sub f { $_[0] =~ y/U/U/ == $_[0] =~ y/D/D/ and #equal count of U's and D's and
+ $_[0] =~ y/L/L/ == $_[0] =~ y/R/R/ } #equal count of L's and R's.
+
+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"; #bug in example 5
+print f("RRUULLDDrruu") ? "ok\n" : "error\n";