From 9340cd609fec461463dcf7927eccc4b7bc91c26f Mon Sep 17 00:00:00 2001 From: Kjetil Skotheim Date: Wed, 8 Mar 2023 23:28:28 +0100 Subject: https://theweeklychallenge.org/blog/perl-weekly-challenge-207/ --- challenge-207/kjetillll/perl/ch-2.pl | 2 ++ challenge-207/kjetillll/scala/ch-1.sh | 8 ++++++++ challenge-207/kjetillll/scala/ch-2.sh | 23 +++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 challenge-207/kjetillll/scala/ch-1.sh create mode 100644 challenge-207/kjetillll/scala/ch-2.sh 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..3c5247652a --- /dev/null +++ b/challenge-207/kjetillll/scala/ch-2.sh @@ -0,0 +1,23 @@ +#!/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(10,8,5,4,3) ) ) // 4 +println( H_index( List(25,8,5,3,3) ) ) // 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 +// 5 +// 1 +// 1 +// 0 -- cgit