aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-12-21 04:43:18 +0000
committerGitHub <noreply@github.com>2020-12-21 04:43:18 +0000
commit7c5bcd1c9479573ff8aef84df447d523ac6e4c7c (patch)
tree4a6bd35f2162f22da293384b704fc203a042bebd
parent7e482974ebe06fb02e1d80f39b681317bdeccffb (diff)
parent7f0b680f072dec96ac8980c1591c59a004f5f8d2 (diff)
downloadperlweeklychallenge-club-7c5bcd1c9479573ff8aef84df447d523ac6e4c7c.tar.gz
perlweeklychallenge-club-7c5bcd1c9479573ff8aef84df447d523ac6e4c7c.tar.bz2
perlweeklychallenge-club-7c5bcd1c9479573ff8aef84df447d523ac6e4c7c.zip
Merge pull request #3030 from jaldhar/challenge-091
Challenge 91 by Jaldhar H. Vyas
-rw-r--r--challenge-091/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-091/jaldhar-h-vyas/perl/ch-1.pl23
-rwxr-xr-xchallenge-091/jaldhar-h-vyas/perl/ch-2.pl19
-rwxr-xr-xchallenge-091/jaldhar-h-vyas/raku/ch-1.raku13
-rwxr-xr-xchallenge-091/jaldhar-h-vyas/raku/ch-2.raku21
5 files changed, 77 insertions, 0 deletions
diff --git a/challenge-091/jaldhar-h-vyas/blog.txt b/challenge-091/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..149dfcacbe
--- /dev/null
+++ b/challenge-091/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2020/12/perl_weekly_challenge_week_91.html
diff --git a/challenge-091/jaldhar-h-vyas/perl/ch-1.pl b/challenge-091/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..4f24626f18
--- /dev/null
+++ b/challenge-091/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+use 5.020;
+use warnings;
+
+my $N = shift // die "Need a positive number.\n";
+
+my $current = 0;
+my $count = 0;
+
+for my $i (split //, $N) {
+ if ($i == $current) {
+ $count++;
+ } else {
+ if ($current != 0) {
+ print "$count$current";
+ }
+ $current = $i;
+ $count = 1;
+
+ }
+}
+
+print "$count$current\n"; \ No newline at end of file
diff --git a/challenge-091/jaldhar-h-vyas/perl/ch-2.pl b/challenge-091/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..df481fa991
--- /dev/null
+++ b/challenge-091/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/perl
+use 5.020;
+use warnings;
+
+sub jump {
+ my @N = @_;
+ my $current = 0;
+
+ while ( $current < (scalar @N - 1)) {
+ $current += $N[$current];
+ if ($N[$current] == 0 || $current > scalar @N) {
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+say jump(@ARGV);
diff --git a/challenge-091/jaldhar-h-vyas/raku/ch-1.raku b/challenge-091/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..2ebfa7ef76
--- /dev/null
+++ b/challenge-091/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ Int $N #= a positive number.
+) {
+ my %count = $N.comb.classify({ $_; });
+
+ for %count.keys.sort -> $k {
+ print %count{$k}.elems, $k;
+ }
+
+ print "\n";
+} \ No newline at end of file
diff --git a/challenge-091/jaldhar-h-vyas/raku/ch-2.raku b/challenge-091/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..3025dffb34
--- /dev/null
+++ b/challenge-091/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/raku
+
+sub jump(@N) {
+ my $current = 0;
+
+ while $current < @N.elems - 1 {
+ $current += @N[$current];
+ if @N[$current] == 0 || $current >= @N.elems {
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+
+sub MAIN(
+ *@N #= a positive number.
+) {
+ say jump(@N);
+} \ No newline at end of file