aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2022-12-19 03:01:40 -0500
committerJaldhar H. Vyas <jaldhar@braincells.com>2022-12-19 03:01:40 -0500
commitf46848b9e2dc4bfe699538aa30ede2f21ff46137 (patch)
tree0c72bf6430ce9c37aa1fdfe540688bf307a570da
parentb923aa644c55f0d7e1cdc5608f183a98ad0b0922 (diff)
downloadperlweeklychallenge-club-f46848b9e2dc4bfe699538aa30ede2f21ff46137.tar.gz
perlweeklychallenge-club-f46848b9e2dc4bfe699538aa30ede2f21ff46137.tar.bz2
perlweeklychallenge-club-f46848b9e2dc4bfe699538aa30ede2f21ff46137.zip
Challenge 195 by Jaldhar H. Vyas.
-rw-r--r--challenge-195/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-195/jaldhar-h-vyas/perl/ch-1.pl13
-rwxr-xr-xchallenge-195/jaldhar-h-vyas/perl/ch-2.pl12
-rwxr-xr-xchallenge-195/jaldhar-h-vyas/raku/ch-1.sh3
-rwxr-xr-xchallenge-195/jaldhar-h-vyas/raku/ch-2.raku13
5 files changed, 42 insertions, 0 deletions
diff --git a/challenge-195/jaldhar-h-vyas/blog.txt b/challenge-195/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..1bdc27d3b7
--- /dev/null
+++ b/challenge-195/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2022/12/perl_weekly_challenge_week_195.html \ No newline at end of file
diff --git a/challenge-195/jaldhar-h-vyas/perl/ch-1.pl b/challenge-195/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..9a54e6ed23
--- /dev/null
+++ b/challenge-195/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+sub unique {
+ my @arr = @{ $_[0] };
+ my %seen;
+ return grep { !$seen{join q{}, $_}++ } @arr;
+}
+
+my $n = shift // die "need an integer greater than 0\n";
+
+say scalar grep { my @digits = split //, $_; scalar @digits == scalar unique(\@digits); } 1 .. $n;
diff --git a/challenge-195/jaldhar-h-vyas/perl/ch-2.pl b/challenge-195/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..c739d93014
--- /dev/null
+++ b/challenge-195/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+my @list = @ARGV;
+my %count;
+
+for my $elem (grep { $_ % 2 != 1; } @list) {
+ $count{$elem}++;
+}
+
+say [sort { scalar $count{$b} <=> scalar $count{$a} || $a <=> $b } keys %count]->[0] || -1;
diff --git a/challenge-195/jaldhar-h-vyas/raku/ch-1.sh b/challenge-195/jaldhar-h-vyas/raku/ch-1.sh
new file mode 100755
index 0000000000..b98f4d9097
--- /dev/null
+++ b/challenge-195/jaldhar-h-vyas/raku/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e '(1 .. @*ARGS[0]).grep({ my @digit = $_.comb; @digits ~~ @digits.unique; }).elems.say;' $@ \ No newline at end of file
diff --git a/challenge-195/jaldhar-h-vyas/raku/ch-2.raku b/challenge-195/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..10b7357b15
--- /dev/null
+++ b/challenge-195/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@list
+) {
+ say @list
+ .grep({ $_ % 2 != 1; })
+ .classify({ $_ })
+ .sort({$^b.value.elems <=> $^a.value.elems || $^a.key <=> $^b.key})
+ .first
+ .key
+ || -1;
+} \ No newline at end of file