diff options
| -rw-r--r-- | challenge-263/ash/perl/ch-2.pl | 31 | ||||
| -rw-r--r-- | challenge-263/ash/raku/ch-2.raku | 16 |
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; |
