aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-207/kjetillll/perl/ch-2.pl2
-rw-r--r--challenge-207/kjetillll/scala/ch-1.sh8
-rw-r--r--challenge-207/kjetillll/scala/ch-2.sh25
3 files changed, 35 insertions, 0 deletions
diff --git a/challenge-207/kjetillll/perl/ch-2.pl b/challenge-207/kjetillll/perl/ch-2.pl
index dfd40082a4..340441ace0 100644
--- a/challenge-207/kjetillll/perl/ch-2.pl
+++ b/challenge-207/kjetillll/perl/ch-2.pl
@@ -11,6 +11,7 @@ my @test = (
[10,8,5,5,5], #5
[25,1,1,1], #1
[25], #1
+ [ ], #0
);
for ( @ARGV ? ([@ARGV]) : @test ) {
@@ -27,3 +28,4 @@ Input: 25 8 5 3 3 H-Index: 3
Input: 10 8 5 5 5 H-Index: 5
Input: 25 1 1 1 H-Index: 1
Input: 25 H-Index: 1
+Input: H-Index: 0
diff --git a/challenge-207/kjetillll/scala/ch-1.sh b/challenge-207/kjetillll/scala/ch-1.sh
new file mode 100644
index 0000000000..cb7119989d
--- /dev/null
+++ b/challenge-207/kjetillll/scala/ch-1.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env scala
+println( "Input: " + args.toList ) // input from command line arguments
+println( "Output: " + args.toList.filter( "(?i)([qwertyuiop]+|[asdfghjkl]+|[zxcvbnm]+)".r matches _ ) )
+
+// chmod +x ch-1.sh
+// ./ch-1.sh Hello Alaska Dad Peace
+// Input: List(Hello, Alaska, Dad, Peace)
+// Output: List(Alaska, Dad)
diff --git a/challenge-207/kjetillll/scala/ch-2.sh b/challenge-207/kjetillll/scala/ch-2.sh
new file mode 100644
index 0000000000..0757a7c171
--- /dev/null
+++ b/challenge-207/kjetillll/scala/ch-2.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env scala
+
+def H_index ( cit: List[Int], is_sorted: Boolean = false ): Int = {
+ if ( cit.isEmpty ) 0
+ else if ( !is_sorted ) H_index( cit.sorted, true )
+ else if ( cit.length > cit.head ) H_index( cit.tail, true)
+ else cit.length
+}
+println( H_index( List(3,4,5,8,10) ) ) // 4
+println( H_index( List(3,3,5,8,25) ) ) // 3
+println( H_index( List(8,5,25,3,3,2,1,1,1,1) ) ) // 3
+println( H_index( List(10,8,5,5,5) ) ) // 5
+println( H_index( List(25,1,1,1) ) ) // 1
+println( H_index( List(25) ) ) // 1
+println( H_index( List() ) ) // 0
+
+// chmod +x ch-2.sh
+// ./ch-2.sh
+// 4
+// 3
+// 3
+// 5
+// 1
+// 1
+// 0