From 070d6d2c73e9a05594b7bd35eaca314575f6a8dd Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Sun, 4 Dec 2022 23:51:56 -0500 Subject: Challenge 193 by Jaldhar H. Vyas. --- challenge-193/jaldhar-h-vyas/blog.txt | 1 + challenge-193/jaldhar-h-vyas/perl/ch-1.pl | 7 +++++++ challenge-193/jaldhar-h-vyas/perl/ch-2.pl | 18 ++++++++++++++++++ challenge-193/jaldhar-h-vyas/raku/ch-1.sh | 3 +++ challenge-193/jaldhar-h-vyas/raku/ch-2.raku | 17 +++++++++++++++++ 5 files changed, 46 insertions(+) create mode 100644 challenge-193/jaldhar-h-vyas/blog.txt create mode 100755 challenge-193/jaldhar-h-vyas/perl/ch-1.pl create mode 100755 challenge-193/jaldhar-h-vyas/perl/ch-2.pl create mode 100755 challenge-193/jaldhar-h-vyas/raku/ch-1.sh create mode 100755 challenge-193/jaldhar-h-vyas/raku/ch-2.raku 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; +} -- cgit