diff options
| -rw-r--r-- | challenge-193/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-193/jaldhar-h-vyas/perl/ch-1.pl | 7 | ||||
| -rwxr-xr-x | challenge-193/jaldhar-h-vyas/perl/ch-2.pl | 18 | ||||
| -rwxr-xr-x | challenge-193/jaldhar-h-vyas/raku/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-193/jaldhar-h-vyas/raku/ch-2.raku | 17 |
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; +} |
