aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Westerberg <drclaw@mac.com>2019-04-26 17:05:41 +1000
committerRuben Westerberg <drclaw@mac.com>2019-04-26 17:05:41 +1000
commit1000c6c958f646bd6d3842aa310aa90c56ee2dc4 (patch)
tree57516ab8240bee27a0dfac1c91fca728a9420d27
parentb570c3a7deefc44d50bbfa4876d8342ed28c0577 (diff)
downloadperlweeklychallenge-club-1000c6c958f646bd6d3842aa310aa90c56ee2dc4.tar.gz
perlweeklychallenge-club-1000c6c958f646bd6d3842aa310aa90c56ee2dc4.tar.bz2
perlweeklychallenge-club-1000c6c958f646bd6d3842aa310aa90c56ee2dc4.zip
Fixed paths and missed anagram
Scripts not use common word file in the parent directory Fixed the issue where the sorted letters was not checked when input was in lexically sorted order
-rw-r--r--challenge-005/ruben-westerberg/README3
-rw-r--r--challenge-005/ruben-westerberg/perl6/anagram.pm615
-rwxr-xr-xchallenge-005/ruben-westerberg/perl6/ch-1.p64
-rwxr-xr-xchallenge-005/ruben-westerberg/perl6/ch-2.p62
-rw-r--r--challenge-005/ruben-westerberg/words_alpha.txt (renamed from challenge-005/ruben-westerberg/perl6/words_alpha.txt)0
5 files changed, 12 insertions, 12 deletions
diff --git a/challenge-005/ruben-westerberg/README b/challenge-005/ruben-westerberg/README
index 8a3637b1b3..562c87853c 100644
--- a/challenge-005/ruben-westerberg/README
+++ b/challenge-005/ruben-westerberg/README
@@ -4,3 +4,6 @@ Solution by Ruben Westerberg
#Challenge 2: Write a program to find the sequence of characters that has the most anagrams
+All solutions use an optional command line argument to specify a dictionary (one word per line) to check against.
+
+By default the words list/dictionary used is words_aplha.txt, which was sourced from https://github.com/dwyl/english-words
diff --git a/challenge-005/ruben-westerberg/perl6/anagram.pm6 b/challenge-005/ruben-westerberg/perl6/anagram.pm6
index 0f4710d52f..ddb0d0e530 100644
--- a/challenge-005/ruben-westerberg/perl6/anagram.pm6
+++ b/challenge-005/ruben-westerberg/perl6/anagram.pm6
@@ -5,12 +5,14 @@ sub findAnangrams(@letters, @words) is export {
my @anagrams;
my $test;
while * {
- my $k=0;
- my $l=0;
+ $test=@a.join("");
+ @anagrams.append(@words.hyper(degree=>4,batch=>50000).grep: {$_ eq $test});
+ my int $k=0;
+ my int $l=0;
my $tmp;
my $flag=False;
- my $maxK=-1;
- my $maxL=-1;
+ my int $maxK=-1;
+ my int $maxL=-1;
while ($k < @a.elems-1) {
$maxK= $k if ((@a[$k] lt @a[$k+1]) && ($k > $maxK));
@@ -27,12 +29,7 @@ sub findAnangrams(@letters, @words) is export {
@a[$maxL]=$tmp;
my @b=@a.splice($maxK+1).reverse;
@a.=append(@b);
- $test=@a.join("");
- #say $test;
- @anagrams.append(@words.hyper(degree=>4,batch=>50000).grep: {$_ eq $test});
}
- $test=@a.join("");
- @anagrams.append(@words.hyper(degree=>4,batch=>50000).grep: {$_ eq $test});
@anagrams;
}
diff --git a/challenge-005/ruben-westerberg/perl6/ch-1.p6 b/challenge-005/ruben-westerberg/perl6/ch-1.p6
index 308d37672c..c3ad9302a1 100755
--- a/challenge-005/ruben-westerberg/perl6/ch-1.p6
+++ b/challenge-005/ruben-westerberg/perl6/ch-1.p6
@@ -1,8 +1,8 @@
#!/usr/bin/env perl6
#
-use lib './';
+use lib $?FILE.IO.dirname;
use anagram;
-my $wordsFile= @*ARGS[0] // "words_alpha.txt";
+my $wordsFile= @*ARGS[0] // $?FILE.IO.dirname ~ "/../words_alpha.txt";
my @word-list=$wordsFile.IO.lines;
while my $input=prompt "Give me a word: " {
diff --git a/challenge-005/ruben-westerberg/perl6/ch-2.p6 b/challenge-005/ruben-westerberg/perl6/ch-2.p6
index 2ce015866c..5ebbce1a8c 100755
--- a/challenge-005/ruben-westerberg/perl6/ch-2.p6
+++ b/challenge-005/ruben-westerberg/perl6/ch-2.p6
@@ -1,5 +1,5 @@
#!/usr/bin/env perl6
-my $wordsFile=$*ARGS[0] // "words_alpha.txt";
+my $wordsFile=$*ARGS[0] // $?FILE.IO.dirname~"/../words_alpha.txt";
say $wordsFile.IO.lines.hyper(degree=>4, batch=>50000).map({
.split("")[1..*-2].sort.join;
}).Bag.antipairs.max;
diff --git a/challenge-005/ruben-westerberg/perl6/words_alpha.txt b/challenge-005/ruben-westerberg/words_alpha.txt
index 1d9abced5d..1d9abced5d 100644
--- a/challenge-005/ruben-westerberg/perl6/words_alpha.txt
+++ b/challenge-005/ruben-westerberg/words_alpha.txt