diff options
| author | Lubos Kolouch <lubos@kolouch.net> | 2021-01-06 21:01:43 +0100 |
|---|---|---|
| committer | Lubos Kolouch <lubos@kolouch.net> | 2021-01-06 21:01:43 +0100 |
| commit | ee5f178fb1dacd52c357f29ee7b68ea4b0cc5ce0 (patch) | |
| tree | 50764562a5d1f3241a93aa5a409bab1cfad86c55 | |
| parent | 11282c4ea2c7da7169ad7cba0d668d709e290676 (diff) | |
| download | perlweeklychallenge-club-ee5f178fb1dacd52c357f29ee7b68ea4b0cc5ce0.tar.gz perlweeklychallenge-club-ee5f178fb1dacd52c357f29ee7b68ea4b0cc5ce0.tar.bz2 perlweeklychallenge-club-ee5f178fb1dacd52c357f29ee7b68ea4b0cc5ce0.zip | |
Task 1 Challenge 094 LK
| -rw-r--r-- | challenge-094/lubos-kolouch/perl/ch-1.pl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/challenge-094/lubos-kolouch/perl/ch-1.pl b/challenge-094/lubos-kolouch/perl/ch-1.pl new file mode 100644 index 0000000000..30da78e34b --- /dev/null +++ b/challenge-094/lubos-kolouch/perl/ch-1.pl @@ -0,0 +1,49 @@ +#!/usr/bin/perl +#=============================================================================== +# +# FILE: ch-1.pl +# +# USAGE: ./ch-1.pl +# +# DESCRIPTION: Perl Weekly Challenge 094 +# Task 1 +# Group Anagrams +# +# AUTHOR: Lubos Kolouch +# VERSION: 1.0 +# CREATED: 01/06/2021 08:43:01 PM +#=============================================================================== + +use strict; +use warnings; + +use Data::Dumper; + + +sub get_anagrams { + my $what = shift; + + my %group; + + for my $elem (@$what) { + my @sorted = sort split //, $elem; + my $joined = join '', @sorted; + + push @{$group{$joined}}, $elem; + } + + my @ret_arr = values %group; + return \@ret_arr; +} + + +use Test::More; + +my $result = get_anagrams(["opt", "bat", "saw", "tab", "pot", "top", "was"]); +is(scalar @$result, 3); + +$result = get_anagrams(["x"]); +is(scalar @$result, 1); + +done_testing; + |
