aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubos Kolouch <lubos@kolouch.net>2021-01-06 21:01:43 +0100
committerLubos Kolouch <lubos@kolouch.net>2021-01-06 21:01:43 +0100
commitee5f178fb1dacd52c357f29ee7b68ea4b0cc5ce0 (patch)
tree50764562a5d1f3241a93aa5a409bab1cfad86c55
parent11282c4ea2c7da7169ad7cba0d668d709e290676 (diff)
downloadperlweeklychallenge-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.pl49
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;
+