aboutsummaryrefslogtreecommitdiff
path: root/challenge-098
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-02-08 00:40:08 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-02-08 00:40:08 +0000
commit7cebc2f1b3c669c7f07abcf7dccb160626dbf921 (patch)
treefe83295ed66937b6b4806692df074ff45d7e9812 /challenge-098
parentb20fbcd1134159eafbe8ce8456801330de97f1e4 (diff)
downloadperlweeklychallenge-club-7cebc2f1b3c669c7f07abcf7dccb160626dbf921.tar.gz
perlweeklychallenge-club-7cebc2f1b3c669c7f07abcf7dccb160626dbf921.tar.bz2
perlweeklychallenge-club-7cebc2f1b3c669c7f07abcf7dccb160626dbf921.zip
- Added solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-098')
-rw-r--r--challenge-098/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-098/laurent-rosenfeld/perl/ch-1.pl9
-rw-r--r--challenge-098/laurent-rosenfeld/raku/ch-1.raku10
-rw-r--r--challenge-098/laurent-rosenfeld/raku/ch-2.raku17
4 files changed, 37 insertions, 0 deletions
diff --git a/challenge-098/laurent-rosenfeld/blog.txt b/challenge-098/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..f233ac8a03
--- /dev/null
+++ b/challenge-098/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2021/02/perl-weekly-challenge-98-read-n-characters-and-search-insert-position.html
diff --git a/challenge-098/laurent-rosenfeld/perl/ch-1.pl b/challenge-098/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..20bce326af
--- /dev/null
+++ b/challenge-098/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,9 @@
+use strict;
+use warnings;
+use feature qw/say/;
+
+my $input = shift // "I_have_a_dream.txt";
+open my $IN, "<", $input or die "Cannot open $input $!";
+for my $n (4..7) {
+ say "Taking $n characters: ", map getc $IN, 1..$n;
+}
diff --git a/challenge-098/laurent-rosenfeld/raku/ch-1.raku b/challenge-098/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..040dd5a7d0
--- /dev/null
+++ b/challenge-098/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,10 @@
+use v6;
+
+my $input = @*ARGS[0] // "I_have_a_dream.txt";
+
+given $input.IO.open {
+ for 0..2 -> $num {
+ my $n = (1..10).pick;
+ say "Taking $n characters: ", .readchars: $n;
+ }
+}
diff --git a/challenge-098/laurent-rosenfeld/raku/ch-2.raku b/challenge-098/laurent-rosenfeld/raku/ch-2.raku
new file mode 100644
index 0000000000..085e175f96
--- /dev/null
+++ b/challenge-098/laurent-rosenfeld/raku/ch-2.raku
@@ -0,0 +1,17 @@
+use v6;
+
+my @tests = [3, < 1 2 3 4>],
+ [6, < 1 3 5 7>],
+ [10, <12 14 16 18>],
+ [19, <11 13 15 17>];
+for @tests -> $test {
+ say $test.gist.fmt("%-20s:\t"), find_insert-pos ($test);
+}
+sub find_insert-pos ($test) {
+ my $target = $test[0];
+ my @array = |$test[1];
+ for 0..@array.end -> $i {
+ return $i if @array[$i] >= $target;
+ }
+ return @array.end + 1;
+}