aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-263/ash/perl/ch-2.pl31
-rw-r--r--challenge-263/ash/raku/ch-2.raku16
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-263/ash/perl/ch-2.pl b/challenge-263/ash/perl/ch-2.pl
new file mode 100644
index 0000000000..82804b51e6
--- /dev/null
+++ b/challenge-263/ash/perl/ch-2.pl
@@ -0,0 +1,31 @@
+# Solution to Task 2 of The Weekly Challenge 263
+# https://theweeklychallenge.org/blog/perl-weekly-challenge-263/#TASK2
+
+# $ perl ch-2.pl
+# $VAR1 = [
+# [
+# 1,
+# 4
+# ],
+# [
+# 2,
+# 3
+# ],
+# [
+# 3,
+# 2
+# ]
+# ];
+
+use v5.20;
+use Data::Dumper;
+
+my $items1 = [[1, 1], [2, 1], [3, 2]];
+my $items2 = [[2, 2], [1, 3]];
+
+my %values;
+$values{$_->[0]} += $_->[1] for @$items1, @$items2;
+
+my @result = map {[$_ + 0, $values{$_}]} sort {$a <=> $b} keys %values;
+
+say Dumper(\@result);
diff --git a/challenge-263/ash/raku/ch-2.raku b/challenge-263/ash/raku/ch-2.raku
new file mode 100644
index 0000000000..1df1d470c0
--- /dev/null
+++ b/challenge-263/ash/raku/ch-2.raku
@@ -0,0 +1,16 @@
+# Solution to Task 2 of The Weekly Challenge 263
+# https://theweeklychallenge.org/blog/perl-weekly-challenge-263/#TASK2
+
+# $ raku ch-2.raku
+# [(1 4) (2 3) (3 2)]
+
+my @items1 = [[1, 1], [2, 1], [3, 2]];
+my @items2 = [[2, 2], [1, 3]];
+
+my %values;
+for (@items1, @items2).flat -> ($k, $v) {
+ %values{$k} += $v;
+}
+
+my @result = (%values.keys.sort: {$^a <=> $^b}).map: {$_, %values{$_}};
+say @result;