aboutsummaryrefslogtreecommitdiff
path: root/challenge-263
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2024-04-07 21:12:30 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2024-04-07 21:12:30 -0400
commit8cf0980431dde43c78af508f82f1129e599230a0 (patch)
tree99ba0244d336fe95d308458865fb2ac74cafe5c7 /challenge-263
parent0495c7534995083a63370f8e93d3834bbe1f054d (diff)
downloadperlweeklychallenge-club-8cf0980431dde43c78af508f82f1129e599230a0.tar.gz
perlweeklychallenge-club-8cf0980431dde43c78af508f82f1129e599230a0.tar.bz2
perlweeklychallenge-club-8cf0980431dde43c78af508f82f1129e599230a0.zip
Challenge 263 by Jaldhar H. Vyas.
Diffstat (limited to 'challenge-263')
-rw-r--r--challenge-263/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-263/jaldhar-h-vyas/perl/ch-1.pl9
-rwxr-xr-xchallenge-263/jaldhar-h-vyas/perl/ch-2.pl14
-rwxr-xr-xchallenge-263/jaldhar-h-vyas/raku/ch-1.raku9
-rwxr-xr-xchallenge-263/jaldhar-h-vyas/raku/ch-2.raku18
5 files changed, 51 insertions, 0 deletions
diff --git a/challenge-263/jaldhar-h-vyas/blog.txt b/challenge-263/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..f4994a820b
--- /dev/null
+++ b/challenge-263/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2024/04/perl_weekly_challenge_week_263.html
diff --git a/challenge-263/jaldhar-h-vyas/perl/ch-1.pl b/challenge-263/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..f423fb96a8
--- /dev/null
+++ b/challenge-263/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+my $k = shift;
+my @ints = @ARGV;
+
+my @sorted = sort { $a <=> $b } @ints;
+say q{(}, (join q{, }, grep { $sorted[$_] == $k} keys @sorted), q{)}; \ No newline at end of file
diff --git a/challenge-263/jaldhar-h-vyas/perl/ch-2.pl b/challenge-263/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..ab88946c5f
--- /dev/null
+++ b/challenge-263/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+my ($items1, $items2) = @ARGV;
+
+my %merged;
+foreach my $item (map { [split /\,/] } split /\s+/, "$items1 $items2") {
+ $merged{$item->[0]} += $item->[1];
+}
+
+say q{[ },
+ (join q{, }, map { "[$_,$merged{$_}]" } sort { $merged{$b} <=> $merged{$a} } keys %merged),
+q{ ]};
diff --git a/challenge-263/jaldhar-h-vyas/raku/ch-1.raku b/challenge-263/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..aa23c13e13
--- /dev/null
+++ b/challenge-263/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,9 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ $k,
+ *@ints
+) {
+ my @sorted = @ints.sort;
+ say q{(}, @sorted.keys.grep({ @sorted[$_] == $k}).join(q{, }), q{)};
+} \ No newline at end of file
diff --git a/challenge-263/jaldhar-h-vyas/raku/ch-2.raku b/challenge-263/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..03917e62b1
--- /dev/null
+++ b/challenge-263/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,18 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ $items1,
+ $items2
+) {
+ my %merged;
+ for "$items1 $items2".split(/\s+/).map({ $_.split(/\,/) }) -> $item {
+ %merged{@$item[0]} += @$item[1];
+ }
+
+ say q{[ },
+ %merged
+ .sort
+ .map({ "[{$_.key},{$_.value}]" })
+ .join(q{, }),
+ q{ ]};
+} \ No newline at end of file