diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2024-01-22 18:45:40 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2024-01-22 18:45:40 +0000 |
| commit | 8db85cd488ebedbbda40cca5403676ce0ed8e072 (patch) | |
| tree | d33d82158a36712744dfe056a614af5efd7d392d | |
| parent | e5950fec13757372c56fd4a6fe34acb64e03f261 (diff) | |
| download | perlweeklychallenge-club-8db85cd488ebedbbda40cca5403676ce0ed8e072.tar.gz perlweeklychallenge-club-8db85cd488ebedbbda40cca5403676ce0ed8e072.tar.bz2 perlweeklychallenge-club-8db85cd488ebedbbda40cca5403676ce0ed8e072.zip | |
- Added solutions by Eric Cheung.
- Added solutions by Laurent Rosenfeld.
- Added solutions by Mark Anderson.
- Added solutions by Niels van Dijke.
- Added solutions by PokGoPun.
- Added solutions by Luca Ferrari.
- Added solutions by David Ferrone.
- Added solutions by W. Luis Mochan.
24 files changed, 3123 insertions, 2878 deletions
diff --git a/challenge-253/eric-cheung/python/ch-1.py b/challenge-253/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..ac1c18f9c5 --- /dev/null +++ b/challenge-253/eric-cheung/python/ch-1.py @@ -0,0 +1,14 @@ +
+## Example 1
+arrWords = ["one.two.three", "four.five", "six"]
+strSeparator = "."
+
+## Example 2
+## arrWords = ["$perl$$", "$$raku$"]
+## strSeparator = "$"
+
+arrOutput = []
+for strLoop in arrWords:
+ arrOutput = arrOutput + strLoop.split(strSeparator)
+
+print (",".join(["\"" + strLoop + "\"" for strLoop in arrOutput if strLoop]))
diff --git a/challenge-253/eric-cheung/python/ch-2.py b/challenge-253/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..91e11aaa8b --- /dev/null +++ b/challenge-253/eric-cheung/python/ch-2.py @@ -0,0 +1,17 @@ +
+def IsWeaker (rowA, rowB):
+ return True if rowA.count(1) <= rowB.count(1) else False
+
+## arrMatrix = [[1, 1, 0, 0, 0], [1, 1, 1, 1, 0], [1, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 1, 1, 1, 1]] ## Example 1
+arrMatrix = [[1, 0, 0, 0], [1, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 0]] ## Example 2
+
+arrIndx = [nIndx for nIndx in range(len(arrMatrix))]
+
+for nRowLoop in range(len(arrIndx) - 1):
+ for nColLoop in range(nRowLoop + 1, len(arrIndx)):
+ if not IsWeaker (arrMatrix[arrIndx[nRowLoop]], arrMatrix[arrIndx[nColLoop]]):
+ vTemp = arrIndx[nRowLoop]
+ arrIndx[nRowLoop] = arrIndx[nColLoop]
+ arrIndx[nColLoop] = vTemp
+
+print (arrIndx)
diff --git a/challenge-253/laurent-rosenfeld/blog.txt b/challenge-253/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..3ce6bf5981 --- /dev/null +++ b/challenge-253/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +https://blogs.perl.org/users/laurent_r/2024/01/perl-weekly-challenge-253-split-strings.html diff --git a/challenge-253/laurent-rosenfeld/perl/ch-1.pl b/challenge-253/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..8cccb2a672 --- /dev/null +++ b/challenge-253/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,18 @@ +use strict; +use warnings; +use feature 'say'; + +sub split_strings { + my ($sep, @strings) = @_; + $sep = quotemeta $sep; + my @result = grep { /\w+/ } + map { split $sep, $_ } @strings; + return @result; +} + +my @tests = ( [ '.', ["one.two.three","four.five","six"] ], + [ '$', ['$perl$$', '$$raku$'] ] ); +for my $test (@tests) { + printf "%-30s => ", "@{$test->[1]}"; + say join " ", split_strings $test->[0], @{$test->[1]}; +} diff --git a/challenge-253/laurent-rosenfeld/raku/ch-1.raku b/challenge-253/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..48e90b38e6 --- /dev/null +++ b/challenge-253/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,18 @@ +sub split-strings (:$sep, :@strings) { + my @result = grep { /\w+/ }, flat + map { split $sep, $_ }, @strings; + return @result; +} + + +my @tests = { + 'separator' => '.', + 'string' => ("one.two.three","four.five","six") + }, { + 'separator' => '$', + 'string' => ('$perl$$', '$$raku$')}; +for @tests -> %test { + printf "%-30s => ", %test<string>; + say split-strings(sep => %test<separator>, + strings => %test<string>); +} diff --git a/challenge-253/perlboy1967/perl/ch1.pl b/challenge-253/perlboy1967/perl/ch-1.pl index b93afab37f..b93afab37f 100755 --- a/challenge-253/perlboy1967/perl/ch1.pl +++ b/challenge-253/perlboy1967/perl/ch-1.pl diff --git a/challenge-253/perlboy1967/perl/ch2.pl b/challenge-253/perlboy1967/perl/ch-2.pl index 58d1e27c8a..58d1e27c8a 100755 --- a/challenge-253/perlboy1967/perl/ch2.pl +++ b/challenge-253/perlboy1967/perl/ch-2.pl diff --git a/stats/pwc-challenge-252.json b/stats/pwc-challenge-252.json new file mode 100644 index 0000000000..06efe7708a --- /dev/null +++ b/stats/pwc-challenge-252.json @@ -0,0 +1,665 @@ +{ + "subtitle" : { + "text" : "[Champions: 35] Last updated at 2024-01-22 18:31:03 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "series" : [ + { + "name" : "The Weekly Challenge - 252", + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Adam Russell", + "name" : "Adam Russell", + "y" : 2 + }, + { + "name" : "Ali Moradi", + "y" : 5, + "drilldown" : "Ali Moradi" + }, + { + "drilldown" : "Arne Sommer", + "y" : 3, + "name" : "Arne Sommer" + }, + { + "y" : 4, + "name" : "Athanasius", + "drilldown" : "Athanasius" + }, + { + "drilldown" : "BarrOff", + "y" : 4, + "name" : "BarrOff" + }, + { + "drilldown" : "Bob Lied", + "name" : "Bob Lied", + "y" : 2 + }, + { + "y" : 2, + "name" : "Bruce Gray", + "drilldown" : "Bruce Gray" + }, + { + "y" : 2, + "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung" + }, + { + "drilldown" : "David Ferrone", + "name" : "David Ferrone", + "y" : 2 + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "drilldown" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas", + "y" : 5 + }, + { + "drilldown" : "Jan Krnavek", + "y" : 1, + "name" : "Jan Krnavek" + }, + { + "name" : "Jorg Sommrey", + "y" : 3, + "drilldown" : "Jorg Sommrey" + }, + { + "drilldown" : "Laurent Rosenfeld", + "y" : 6, + "name" : "Laurent Rosenfeld" + }, + { + "name" : "Lubos Kolouch", + "y" : 4, + "drilldown" : "Lubos Kolouch" + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 10 + }, + { + "name" : "Mark Anderson", + "y" : 2, + "drilldown" : "Mark Anderson" + }, + { + "name" : "Matthew Neleigh", + "y" : 2, + "drilldown" : "Matthew Neleigh" + }, + { + "drilldown" : "Mustafa Aydin", + "y" : 2, + "name" : "Mustafa Aydin" + }, + { + "drilldown" : "Nelo Tovar", + "y" : 2, + "name" : "Nelo Tovar" + }, + { + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "y" : 2 + }, + { + "drilldown" : "Packy Anderson", + "y" : 5, + "name" : "Packy Anderson" + }, + { + "drilldown" : "Paulo Custodio", + "name" : "Paulo Custodio", + "y" : 2 + }, + { + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", + "y" : 3 + }, + { + "drilldown" : "Peter Meszaros", + "y" : 2, + "name" : "Peter Meszaros" + }, + { + "name" : "Robbie Hatley", + "y" : 3, + "drilldown" : "Robbie Hatley" + }, + { + "name" : "Robert Ransbottom", + "y" : 2, + "drilldown" : "Robert Ransbottom" + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 5 + }, + { + "y" : 2, + "name" : "Scott Sotka", + "drilldown" : "Scott Sotka" + }, + { + "y" : 3, + "name" : "Simon Green", + "drilldown" : "Simon Green" + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "drilldown" : "Stephen G. Lynn", + "y" : 3, + "name" : "Stephen G. Lynn" + }, + { + "drilldown" : "Thomas Kohler", + "y" : 4, + "name" : "Thomas Kohler" + }, + { + "name" : "Ulrich Rieke", + "y" : 4, + "drilldown" : "Ulrich Rieke" + }, + { + "name" : "W. Luis Mochan", + "y" : 3, + "drilldown" : "W. Luis Mochan" + } + ] + } + ], + "drilldown" : { + "series" : [ + { + "name" : "Adam Russell", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Adam Russell" + }, + { + "name" : "Ali Moradi", + "id" : "Ali Moradi", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "name" : "Athanasius", + "id" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "id" : "BarrOff", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "BarrOff" + }, + { + "id" : "Bob Lied", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Bob Lied" + }, + { + "id" : "Bruce Gray", + "data" : [ + [ + "Raku", + 2 + ] + ], + "name" : "Bruce Gray" + }, + { + "id" : "Cheok-Yin Fung", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Cheok-Yin Fung" + }, + { + "name" : "David Ferrone", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "David Ferrone" + }, + { + "id" : "E. Choroba", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "E. Choroba" + }, + { + "name" : "Jaldhar H. Vyas", + "id" : "Jaldhar H. Vyas", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "name" : "Jan Krnavek", + "data" : [ + [ + "Raku", + 1 + ] + ], + "id" : "Jan Krnavek" + }, + { + "name" : "Jorg Sommrey", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Jorg Sommrey" + }, + { + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch" + }, + { + "name" : "Luca Ferrari", + "id" : "Luca Ferrari", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 8 + ] + ] + }, + { + "name" : "Mark Anderson", + "id" : "Mark Anderson", + "data" : [ + [ + "Raku", + 2 + ] + ] + }, + { + "name" : "Matthew Neleigh", + "id" : "Matthew Neleigh", + "data" : [ + [ + "Perl", + 2 + ] + ] + }, + { + "name" : "Mustafa Aydin", + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Mustafa Aydin" + }, + { + "id" : "Nelo Tovar", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Nelo Tovar" + }, + { + "name" : "Niels van Dijke", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Niels van Dijke" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Packy Anderson", + "name" : "Packy Anderson" + }, + { + "name" : "Paulo Custodio", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Paulo Custodio" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" + }, + { + "id" : "Peter Meszaros", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Peter Meszaros" + }, + { + "name" : "Robbie Hatley", + "id" : "Robbie Hatley", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Robert Ransbottom", + "data" : [ + [ + "Raku", + 2 + ] + ], + "name" : "Robert Ransbottom" + }, + { + "id" : "Roger Bell_West", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Roger Bell_West" + }, + { + "name" : "Scott Sotka", + "id" : "Scott Sotka", + "data" : [ + [ + "Raku", + 2 + ] + ] + }, + { + "name" : "Simon Green", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Simon Green" + }, + { + "name" : "Simon Proctor", + "id" : "Simon Proctor", + "data" : [ + [ + "Raku", + 2 + ] + ] + }, + { + "id" : "Stephen G. Lynn", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Stephen G. Lynn" + }, + { + "id" : "Thomas Kohler", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "name" : "Thomas Kohler" + }, + { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + } + ] + }, + "title" : { + "text" : "The Weekly Challenge - 252" + }, + "xAxis" : { + "type" : "category" + }, + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + }, + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "chart" : { + "type" : "column" + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 2d1d9c72f6..d1e8394d15 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,202 +1,93 @@ { "title" : { - "text" : "The Weekly Challenge - 252" + "text" : "The Weekly Challenge - 253" + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 2, + "drilldown" : "David Ferrone", + "name" : "David Ferrone" + }, + { + "name" : "Laurent Rosenfeld", + "y" : 3, + "drilldown" : "Laurent Rosenfeld" + }, + { + "y" : 11, + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" + }, + { + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke" + }, + { + "name" : "W. Luis Mochan", + "y" : 3, + "drilldown" : "W. Luis Mochan" + } + ], + "name" : "The Weekly Challenge - 253" + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } }, "drilldown" : { "series" : [ { - "id" : "Adam Russell", + "id" : "David Ferrone", "data" : [ [ "Perl", 2 ] ], - "name" : "Adam Russell" + "name" : "David Ferrone" }, { - "id" : "Ali Moradi", + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", 1 - ] - ], - "name" : "Ali Moradi" - }, - { - "name" : "Arne Sommer", - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Arne Sommer" - }, - { - "id" : "Athanasius", - "name" : "Athanasius", - "data" : [ - [ - "Perl", - 2 ], [ "Raku", - 2 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "name" : "BarrOff", - "id" : "BarrOff" - }, - { - "id" : "Bob Lied", - "name" : "Bob Lied", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "data" : [ - [ - "Raku", - 2 - ] - ], - "name" : "Bruce Gray", - "id" : "Bruce Gray" - }, - { - "name" : "Cheok-Yin Fung", - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Cheok-Yin Fung" - }, - { - "id" : "David Ferrone", - "name" : "David Ferrone", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "id" : "E. Choroba", - "name" : "E. Choroba", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "id" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", 1 - ] - ] - }, - { - "id" : "Jan Krnavek", - "data" : [ - [ - "Raku", - 1 - |
