aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2024-08-29 23:13:25 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2024-08-30 14:20:19 -0400
commitf0de1834da6a6ec8bc5d83d9effedd36a656c3e3 (patch)
tree1aee37c794e8bd5ea7cbf772dd9ca1c880651903
parentca254bf2754bcd6602cd190c4497529c3aa7ff74 (diff)
downloadperlweeklychallenge-club-f0de1834da6a6ec8bc5d83d9effedd36a656c3e3.tar.gz
perlweeklychallenge-club-f0de1834da6a6ec8bc5d83d9effedd36a656c3e3.tar.bz2
perlweeklychallenge-club-f0de1834da6a6ec8bc5d83d9effedd36a656c3e3.zip
Challenge 284 by Jaldhar H. Vyas.
-rw-r--r--challenge-284/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-284/jaldhar-h-vyas/perl/ch-1.pl11
-rwxr-xr-xchallenge-284/jaldhar-h-vyas/perl/ch-2.pl24
-rwxr-xr-xchallenge-284/jaldhar-h-vyas/raku/ch-1.sh3
-rwxr-xr-xchallenge-284/jaldhar-h-vyas/raku/ch-2.raku23
5 files changed, 62 insertions, 0 deletions
diff --git a/challenge-284/jaldhar-h-vyas/blog.txt b/challenge-284/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..c79fb0b6b1
--- /dev/null
+++ b/challenge-284/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2024/08/perl_weekly_challenge_week_284.html
diff --git a/challenge-284/jaldhar-h-vyas/perl/ch-1.pl b/challenge-284/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..b1c18ad219
--- /dev/null
+++ b/challenge-284/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,11 @@
+#!/usr/bin/perl
+use v5.38;
+
+my @ints = @ARGV;
+my %count;
+
+for my $int (@ints) {
+ $count{$int}++;
+}
+
+say [sort { $b <=> $a} grep { $_ == $count{$_} } keys %count]->[0] // -1;
diff --git a/challenge-284/jaldhar-h-vyas/perl/ch-2.pl b/challenge-284/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..5f0039799f
--- /dev/null
+++ b/challenge-284/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+use v5.38;
+
+my @list1 = split /\s*/, $ARGV[0];
+my @list2 = split /\s*/, $ARGV[1];
+
+my %elems;
+for my $int (@list1) {
+ push @{$elems{$int}}, $int;
+}
+
+my @result;
+
+for my $e (@list2) {
+ push @result, @{$elems{$e}};
+ delete $elems{$e};
+}
+
+for my $e (sort { $a <=> $b } keys %elems) {
+ push @result, @{$elems{$e}};
+ delete $elems{$e};
+}
+
+say q{(}, (join q{, }, @result), q{)}; \ No newline at end of file
diff --git a/challenge-284/jaldhar-h-vyas/raku/ch-1.sh b/challenge-284/jaldhar-h-vyas/raku/ch-1.sh
new file mode 100755
index 0000000000..1969edcfd5
--- /dev/null
+++ b/challenge-284/jaldhar-h-vyas/raku/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e 'my %h=@*ARGS.classify({$_});say (%h.keys.grep({$_==%h{$_}.elems}).sort)[*-1]//-1' "$@" \ No newline at end of file
diff --git a/challenge-284/jaldhar-h-vyas/raku/ch-2.raku b/challenge-284/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..8327f50e51
--- /dev/null
+++ b/challenge-284/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,23 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ Str $l1,
+ Str $l2
+) {
+ my @list1 = $l1.words;
+ my @list2 = $l2.words;
+ my %elems = @list1.classify({ $_ });
+ my @result;
+
+ for @list2 -> $e {
+ @result.push(| %elems{$e});
+ %elems{$e}:delete;
+ }
+
+ for %elems.keys.sort -> $e {
+ @result.push(| %elems{$e});
+ %elems{$e}:delete;
+ }
+
+ say q{(}, @result.join(q{, }), q{)};
+} \ No newline at end of file