diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-12-21 04:43:18 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-21 04:43:18 +0000 |
| commit | 7c5bcd1c9479573ff8aef84df447d523ac6e4c7c (patch) | |
| tree | 4a6bd35f2162f22da293384b704fc203a042bebd | |
| parent | 7e482974ebe06fb02e1d80f39b681317bdeccffb (diff) | |
| parent | 7f0b680f072dec96ac8980c1591c59a004f5f8d2 (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rwxr-xr-x | challenge-091/jaldhar-h-vyas/perl/ch-1.pl | 23 | ||||
| -rwxr-xr-x | challenge-091/jaldhar-h-vyas/perl/ch-2.pl | 19 | ||||
| -rwxr-xr-x | challenge-091/jaldhar-h-vyas/raku/ch-1.raku | 13 | ||||
| -rwxr-xr-x | challenge-091/jaldhar-h-vyas/raku/ch-2.raku | 21 |
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 |
