aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2022-12-04 23:51:56 -0500
committerJaldhar H. Vyas <jaldhar@braincells.com>2022-12-04 23:52:23 -0500
commit070d6d2c73e9a05594b7bd35eaca314575f6a8dd (patch)
tree99306e2cc209450ccd120af7c87461856c336c2d
parent50e7a7dea394043a4328a4a5bafd04a710dbd3df (diff)
downloadperlweeklychallenge-club-070d6d2c73e9a05594b7bd35eaca314575f6a8dd.tar.gz
perlweeklychallenge-club-070d6d2c73e9a05594b7bd35eaca314575f6a8dd.tar.bz2
perlweeklychallenge-club-070d6d2c73e9a05594b7bd35eaca314575f6a8dd.zip
Challenge 193 by Jaldhar H. Vyas.
-rw-r--r--challenge-193/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-193/jaldhar-h-vyas/perl/ch-1.pl7
-rwxr-xr-xchallenge-193/jaldhar-h-vyas/perl/ch-2.pl18
-rwxr-xr-xchallenge-193/jaldhar-h-vyas/raku/ch-1.sh3
-rwxr-xr-xchallenge-193/jaldhar-h-vyas/raku/ch-2.raku17
5 files changed, 46 insertions, 0 deletions
diff --git a/challenge-193/jaldhar-h-vyas/blog.txt b/challenge-193/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..70dc18a443
--- /dev/null
+++ b/challenge-193/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2022/12/perl_weekly_challenge_week_193.html \ No newline at end of file
diff --git a/challenge-193/jaldhar-h-vyas/perl/ch-1.pl b/challenge-193/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..ca2866648c
--- /dev/null
+++ b/challenge-193/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,7 @@
+#!/bin/perl
+use 5.030;
+use warnings;
+
+my ($n) = @ARGV;
+
+say join q{, }, map { sprintf('%0*b', $n, $_); } oct('0b' . ('0' x $n)) .. oct('0b' . ('1' x $n));
diff --git a/challenge-193/jaldhar-h-vyas/perl/ch-2.pl b/challenge-193/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..2af10cd5c0
--- /dev/null
+++ b/challenge-193/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+my @strings = @ARGV;
+my %results;
+
+for my $string (@strings) {
+ my @values = map { ord($_) - ord('a') } split //, $string;
+ my @diff;
+
+ for my $i (1 .. scalar @values - 1) {
+ push @diff, $values[$i] - $values[$i - 1];
+ }
+ push @{$results{join(q{,}, @diff)}}, $string;
+}
+
+say $results{ (grep { scalar @{$results{$_}} == 1 } keys %results)[0] }[0];
diff --git a/challenge-193/jaldhar-h-vyas/raku/ch-1.sh b/challenge-193/jaldhar-h-vyas/raku/ch-1.sh
new file mode 100755
index 0000000000..00444e1b6f
--- /dev/null
+++ b/challenge-193/jaldhar-h-vyas/raku/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e 'my $n = @*ARGS[0]; (("0" x $n) .. ("1" x $n)).join(q{, }).say;' $@
diff --git a/challenge-193/jaldhar-h-vyas/raku/ch-2.raku b/challenge-193/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..d5851fd9ee
--- /dev/null
+++ b/challenge-193/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,17 @@
+#!/usr/bin/raku
+
+sub MAIN(*@strings) {
+ my %results;
+
+ for (@strings) -> $string {
+ my @values = $string.comb.map({ $_.ord - 'a'.ord; });
+ my @diff;
+
+ for 1 ..^ @values.elems -> $i {
+ @diff.push(@values[$i] - @values[$i - 1]);
+ }
+ %results{@diff.join(q{,})}.push($string);
+ }
+
+ %results{%results.keys.grep({ %results{$_}.elems == 1; })}.Str.say;
+}