aboutsummaryrefslogtreecommitdiff
path: root/challenge-081
diff options
context:
space:
mode:
authorMyoungjin JEON <jeongoon@gmail.com>2020-10-15 00:04:11 +1100
committerMyoungjin JEON <jeongoon@gmail.com>2020-10-15 00:04:11 +1100
commitdd71532a73981ec613c8c61d99fa4bbd3f3fd79c (patch)
tree70b1b5c1613f51461bb27f6b4aa49ba8b5efa78e /challenge-081
parent99053d27c19ab6baee10484e8de730527333ddde (diff)
parenta86e289ff2bb02e7c579be9175c92f2667168a28 (diff)
downloadperlweeklychallenge-club-dd71532a73981ec613c8c61d99fa4bbd3f3fd79c.tar.gz
perlweeklychallenge-club-dd71532a73981ec613c8c61d99fa4bbd3f3fd79c.tar.bz2
perlweeklychallenge-club-dd71532a73981ec613c8c61d99fa4bbd3f3fd79c.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-081')
-rw-r--r--challenge-081/abigail/input-1-12
-rw-r--r--challenge-081/abigail/input-1-22
-rw-r--r--challenge-081/abigail/input-2-115
-rw-r--r--challenge-081/abigail/output-1-1.exp2
-rw-r--r--challenge-081/abigail/output-1-2.exp1
-rw-r--r--challenge-081/abigail/output-2-1.exp9
-rw-r--r--challenge-081/abigail/perl/ch-1.pl46
-rw-r--r--challenge-081/abigail/perl/ch-2.pl84
-rwxr-xr-xchallenge-081/abigail/test.pl77
-rw-r--r--challenge-081/adam-russell/blog.txt1
-rw-r--r--challenge-081/adam-russell/perl/ch-1.pl51
-rw-r--r--challenge-081/adam-russell/perl/ch-2.pl48
-rw-r--r--challenge-081/alexander-pankoff/README9
-rw-r--r--challenge-081/alexander-pankoff/perl/ch-1.pl43
-rw-r--r--challenge-081/alexander-pankoff/perl/ch-2.pl53
-rw-r--r--challenge-081/arne-sommer/blog.txt2
-rwxr-xr-xchallenge-081/arne-sommer/raku/ch-1.p623
-rwxr-xr-xchallenge-081/arne-sommer/raku/ch-2.p611
-rwxr-xr-xchallenge-081/arne-sommer/raku/common-base-string23
-rwxr-xr-xchallenge-081/arne-sommer/raku/frequency-sort19
-rwxr-xr-xchallenge-081/arne-sommer/raku/frequency-sort-map11
-rwxr-xr-xchallenge-081/arne-sommer/raku/frequency-sort-postfix13
-rw-r--r--challenge-081/arne-sommer/raku/input.txt3
-rw-r--r--challenge-081/ash/raku/ch-1.raku23
-rw-r--r--challenge-081/ash/raku/ch-2.raku22
-rw-r--r--challenge-081/ash/raku/input.txt3
-rw-r--r--challenge-081/athanasius/perl/WestSideStory.txt3
-rw-r--r--challenge-081/athanasius/perl/ch-1.pl130
-rw-r--r--challenge-081/athanasius/perl/ch-2.pl174
-rw-r--r--challenge-081/athanasius/raku/WestSideStory.txt3
-rw-r--r--challenge-081/athanasius/raku/ch-1.raku138
-rw-r--r--challenge-081/athanasius/raku/ch-2.raku148
-rw-r--r--challenge-081/bob-lied/README4
-rwxr-xr-xchallenge-081/bob-lied/perl/ch-1.pl46
-rwxr-xr-xchallenge-081/bob-lied/perl/ch-2.pl69
-rw-r--r--challenge-081/bob-lied/perl/lib/CommonBaseString.pm79
-rw-r--r--challenge-081/bob-lied/perl/t/CommonBaseString.t26
-rw-r--r--challenge-081/bob-lied/perl/t/input13
-rw-r--r--challenge-081/cheok-yin-fung/perl/ch-1.pl52
-rw-r--r--challenge-081/cheok-yin-fung/perl/ch-2.pl31
-rw-r--r--challenge-081/colin-crain/blog.txt1
-rw-r--r--challenge-081/colin-crain/perl/ch-1.pl81
-rw-r--r--challenge-081/colin-crain/perl/ch-2.pl130
-rw-r--r--challenge-081/colin-crain/raku/ch-1.raku73
-rw-r--r--challenge-081/colin-crain/raku/ch-2.raku124
-rw-r--r--challenge-081/duncan-c-white/README104
-rw-r--r--challenge-081/duncan-c-white/perl/WestSideStory14
-rwxr-xr-xchallenge-081/duncan-c-white/perl/ch-1.pl76
-rwxr-xr-xchallenge-081/duncan-c-white/perl/ch-2.pl104
-rwxr-xr-xchallenge-081/feng-chang/raku/ch-1.raku19
-rwxr-xr-xchallenge-081/feng-chang/raku/ch-2.raku15
-rw-r--r--challenge-081/feng-chang/raku/input.txt3
-rw-r--r--challenge-081/frankivo/README1
-rw-r--r--challenge-081/frankivo/scala/WestSideStory.txt3
-rw-r--r--challenge-081/frankivo/scala/WordCount.scala22
-rw-r--r--challenge-081/jaldhar-h-vyas/blog.txt1
-rw-r--r--challenge-081/jaldhar-h-vyas/input8
-rwxr-xr-xchallenge-081/jaldhar-h-vyas/perl/ch-1.pl21
-rwxr-xr-xchallenge-081/jaldhar-h-vyas/perl/ch-2.pl57
-rwxr-xr-xchallenge-081/jaldhar-h-vyas/raku/ch-1.p619
-rwxr-xr-xchallenge-081/jaldhar-h-vyas/raku/ch-2.p638
-rw-r--r--challenge-081/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-081/laurent-rosenfeld/perl/WestSideStory.txt3
-rw-r--r--challenge-081/laurent-rosenfeld/perl/ch-2.pl18
-rw-r--r--challenge-081/laurent-rosenfeld/raku/WestSideStory.txt3
-rw-r--r--challenge-081/laurent-rosenfeld/raku/ch-2.raku9
-rw-r--r--challenge-081/lubos-kolouch/perl/ch-1.pl45
-rw-r--r--challenge-081/lubos-kolouch/perl/ch-2.pl57
-rw-r--r--challenge-081/lubos-kolouch/python/ch-1.py36
-rw-r--r--challenge-081/lubos-kolouch/python/ch-2.py55
-rw-r--r--challenge-081/markus-holzer/raku/ch-1.raku11
-rw-r--r--challenge-081/markus-holzer/raku/ch-2.raku2
-rw-r--r--challenge-081/mohammad-anwar/blog.txt1
-rw-r--r--challenge-081/mohammad-anwar/perl/ch-1.pl53
-rw-r--r--challenge-081/mohammad-anwar/perl/ch-1.t59
-rw-r--r--challenge-081/mohammad-anwar/raku/ch-1.raku48
-rw-r--r--challenge-081/mohammad-anwar/raku/ch-2.raku50
-rw-r--r--challenge-081/nunovieira220/js/ch-1.js17
-rw-r--r--challenge-081/nunovieira220/js/ch-2.js25
-rw-r--r--challenge-081/nunovieira220/js/input.txt3
-rw-r--r--challenge-081/nunovieira220/perl/ch-1.pl22
-rw-r--r--challenge-081/nunovieira220/perl/ch-2.pl36
-rw-r--r--challenge-081/nunovieira220/perl/input.txt3
-rw-r--r--challenge-081/richard-park/apl/CommonBaseString.aplf11
-rw-r--r--challenge-081/richard-park/apl/FrequencySort.aplf7
-rw-r--r--challenge-081/richard-park/apl/WSS.txt3
-rw-r--r--challenge-081/richard-park/apl/ch-1.aplf11
-rw-r--r--challenge-081/richard-park/apl/ch-2.aplf7
-rw-r--r--challenge-081/tyler-wardhaugh/clojure/src/tw/weekly/c81/t1.clj1
-rw-r--r--challenge-081/tyler-wardhaugh/clojure/src/tw/weekly/c81/t2.clj8
-rw-r--r--challenge-081/tyler-wardhaugh/lua/README.md9
-rwxr-xr-xchallenge-081/tyler-wardhaugh/lua/ch-1.lua42
-rwxr-xr-xchallenge-081/tyler-wardhaugh/lua/ch-2.lua73
-rw-r--r--challenge-081/tyler-wardhaugh/lua/resources/input3
-rwxr-xr-xchallenge-081/tyler-wardhaugh/lua/run.lua9
-rwxr-xr-xchallenge-081/tyler-wardhaugh/lua/test.lua25
-rw-r--r--challenge-081/vinod-k/perl/ch-1.pl15
-rw-r--r--challenge-081/walt-mankowski/blog.txt1
-rw-r--r--challenge-081/walt-mankowski/perl/ch-1.pl29
-rw-r--r--challenge-081/walt-mankowski/perl/ch-2.pl44
-rw-r--r--challenge-081/walt-mankowski/perl/input.txt15
-rw-r--r--challenge-081/walt-mankowski/python/.python-version2
-rw-r--r--challenge-081/walt-mankowski/python/ch-1.py13
-rw-r--r--challenge-081/walt-mankowski/python/ch-2.py27
-rw-r--r--challenge-081/wambash/raku/ch-1.raku26
-rw-r--r--challenge-081/wambash/raku/ch-2.raku40
-rw-r--r--challenge-081/wambash/raku/input.txt3
-rw-r--r--challenge-081/wanderdoc/perl/ch-1.pl44
-rw-r--r--challenge-081/wanderdoc/perl/ch-2.pl56
109 files changed, 3437 insertions, 70 deletions
diff --git a/challenge-081/abigail/input-1-1 b/challenge-081/abigail/input-1-1
new file mode 100644
index 0000000000..bcb118a7c2
--- /dev/null
+++ b/challenge-081/abigail/input-1-1
@@ -0,0 +1,2 @@
+abcdabcd
+abcdabcdabcdabcd
diff --git a/challenge-081/abigail/input-1-2 b/challenge-081/abigail/input-1-2
new file mode 100644
index 0000000000..0917019ba6
--- /dev/null
+++ b/challenge-081/abigail/input-1-2
@@ -0,0 +1,2 @@
+aaa
+aa
diff --git a/challenge-081/abigail/input-2-1 b/challenge-081/abigail/input-2-1
new file mode 100644
index 0000000000..f7786e4f1b
--- /dev/null
+++ b/challenge-081/abigail/input-2-1
@@ -0,0 +1,15 @@
+West Side Story
+
+The award-winning adaptation of the classic romantic tragedy "Romeo
+and Juliet". The feuding families become two warring New York City
+gangs, the white Jets led by Riff and the Latino Sharks, led by
+Bernardo. Their hatred escalates to a point where neither can coexist
+with any form of understanding. But when Riff's best friend (and
+former Jet) Tony and Bernardo's younger sister Maria meet at a
+dance, no one can do anything to stop their love. Maria and Tony
+begin meeting in secret, planning to run away. Then the Sharks and
+Jets plan a rumble under the highway--whoever wins gains control
+of the streets. Maria sends Tony to stop it, hoping it can end the
+violence. It goes terribly wrong, and before the lovers know what's
+happened, tragedy strikes and doesn't stop until the climactic and
+heartbreaking ending.
diff --git a/challenge-081/abigail/output-1-1.exp b/challenge-081/abigail/output-1-1.exp
new file mode 100644
index 0000000000..ddf5cedb9f
--- /dev/null
+++ b/challenge-081/abigail/output-1-1.exp
@@ -0,0 +1,2 @@
+abcdabcd
+abcd
diff --git a/challenge-081/abigail/output-1-2.exp b/challenge-081/abigail/output-1-2.exp
new file mode 100644
index 0000000000..7898192261
--- /dev/null
+++ b/challenge-081/abigail/output-1-2.exp
@@ -0,0 +1 @@
+a
diff --git a/challenge-081/abigail/output-2-1.exp b/challenge-081/abigail/output-2-1.exp
new file mode 100644
index 0000000000..014ffe9684
--- /dev/null
+++ b/challenge-081/abigail/output-2-1.exp
@@ -0,0 +1,9 @@
+1 But City It Jet Juliet Latino New Romeo Side Story Their Then West York adaptation any anything at award-winning away become before begin best classic climactic coexist control dance do doesn't end ending escalates families feuding form former friend gains gangs goes happened hatred heartbreaking highway hoping in know love lovers meet meeting neither no one plan planning point romantic rumble run secret sends sister streets strikes terribly their two under understanding until violence warring what when where white whoever wins with wrong younger
+
+2 Bernardo Jets Riff Sharks The by it led tragedy
+
+3 Maria Tony a can of stop
+
+4 to
+
+9 and the
diff --git a/challenge-081/abigail/perl/ch-1.pl b/challenge-081/abigail/perl/ch-1.pl
new file mode 100644
index 0000000000..39e62fc635
--- /dev/null
+++ b/challenge-081/abigail/perl/ch-1.pl
@@ -0,0 +1,46 @@
+#!/opt/perl/bin/perl
+
+#
+# You are given 2 strings, $A and $B.
+#
+# Write a script to find out common base strings in $A and $B.
+#
+# A substring of a string $S is called base string if repeated
+# concatenation of the substring results in the string.
+#
+
+use 5.032;
+
+use strict;
+use warnings;
+no warnings 'syntax';
+
+use experimental 'signatures';
+use experimental 'lexical_subs';
+
+chomp (my $A = <>);
+chomp (my $B = <>);
+
+#
+# Sort the strings by lenght, so $A isn't longer than $B.
+#
+($A, $B) = ($B, $A) if length $B < length $A;
+
+#
+# Find a substring which cannot be part of either string,
+# nor of its concatenation.
+#
+my $sep = "\x00" x (1 + length ($A) + length ($B));
+
+#
+# Now, use a regular expression to find common base strings.
+#
+$_ = "$A$sep$B";
+/^ (.+) \1* # Find base strings of $A
+ $sep # Match the separator
+ \1+ $ # Must be base string for $B
+ (?{say $1}) # Print it
+ (*FAIL) # Backtrack so we can try other base strings.</