diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-10-23 01:52:22 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-10-23 01:52:22 +0100 |
| commit | 2bbdb3b722008b7af5f1d9d86d9e979492f4d405 (patch) | |
| tree | 43c08f2a58f111f90614c3a0ff6d3305f886f254 | |
| parent | bc11c7189cd70636916183b73647ea676ed49f3f (diff) | |
| download | perlweeklychallenge-club-2bbdb3b722008b7af5f1d9d86d9e979492f4d405.tar.gz perlweeklychallenge-club-2bbdb3b722008b7af5f1d9d86d9e979492f4d405.tar.bz2 perlweeklychallenge-club-2bbdb3b722008b7af5f1d9d86d9e979492f4d405.zip | |
- Added solutions by Robert DiCicco.
- Added solutions by librasteve.
- Added solutions by Arne Sommer.
- Added solutions by Flavio Poletti.
- Added solutions by Simon Green.
- Added solutions by Robert Ransbottom.
- Added solutions by Magnus Markling.
- Added blog post by Roger Bell_West.
- Added solutions by Adam Russell.
- Added solutions by Ali Moradi.
- Added solutions by Cheok-Yin Fung.
- Added solutions by Bruce Gray.
- Added solutions by BarrOff.
- Added solutions by lacek96.
28 files changed, 3031 insertions, 2662 deletions
diff --git a/challenge-077/librasteve/README b/challenge-077/librasteve/README new file mode 100644 index 0000000000..6bff5b45c5 --- /dev/null +++ b/challenge-077/librasteve/README @@ -0,0 +1 @@ +Solution by librasteve. diff --git a/challenge-077/p6steve/raku/ch-1.raku b/challenge-077/librasteve/raku/ch-1.raku index d555c30470..d555c30470 100755 --- a/challenge-077/p6steve/raku/ch-1.raku +++ b/challenge-077/librasteve/raku/ch-1.raku diff --git a/challenge-077/p6steve/raku/ch-2.raku b/challenge-077/librasteve/raku/ch-2.raku index c98f790934..c98f790934 100755 --- a/challenge-077/p6steve/raku/ch-2.raku +++ b/challenge-077/librasteve/raku/ch-2.raku diff --git a/challenge-077/p6steve/README b/challenge-077/p6steve/README deleted file mode 100644 index 9c75a3a5c5..0000000000 --- a/challenge-077/p6steve/README +++ /dev/null @@ -1 +0,0 @@ -Solution by p6steve diff --git a/challenge-239/librasteve/README b/challenge-239/librasteve/README new file mode 100644 index 0000000000..3e628aece1 --- /dev/null +++ b/challenge-239/librasteve/README @@ -0,0 +1 @@ +Solutions by librasteve. diff --git a/challenge-239/librasteve/raku/ch-1.raku b/challenge-239/librasteve/raku/ch-1.raku new file mode 100644 index 0000000000..eb9657a7a4 --- /dev/null +++ b/challenge-239/librasteve/raku/ch-1.raku @@ -0,0 +1 @@ +say |(@arr1, @arr2)>>.join.map(* ~~ *); diff --git a/challenge-239/librasteve/raku/ch-2.raku b/challenge-239/librasteve/raku/ch-2.raku new file mode 100644 index 0000000000..71edde7fc0 --- /dev/null +++ b/challenge-239/librasteve/raku/ch-2.raku @@ -0,0 +1 @@ +say +@str.grep(*.comb ⊆ .comb); diff --git a/challenge-239/robert-dicicco/julia/ch-2.jl b/challenge-239/robert-dicicco/julia/ch-2.jl new file mode 100644 index 0000000000..2dab6916f9 --- /dev/null +++ b/challenge-239/robert-dicicco/julia/ch-2.jl @@ -0,0 +1,65 @@ +#!/usr/bin/env julia +#= +--------------------------------------- +AUTHOR : Robert DiCicco +DATE : 2023-10-21 +Challenge 239 Task 02 Consistent Strings ( Julia ) +-------------------------------------- +=# + +using Printf + +mystr = [["ad", "bd", "aaab", "baa", "badab", "ab"], + ["a", "b", "c", "ab", "ac", "bc", "abc","abc"], + ["cc", "acd", "b", "ba", "bac", "bad", "ac", "d","cad"]] +cnt = 1 + +function CheckConsistent(str, mallowed) + total = 0 + #m_arr = split(mallowed,"") + Set1 = Set(split(mallowed,"")) + i = 1 + while i <= length(str) - 1 + s_arr = split(str[i],"") + Set2 = Set(s_arr) + i += 1 + setresult = setdiff(Set2, Set1) + if isempty(setresult) + total += 1 + end + end + return total +end + +while cnt <= length(mystr) + global cnt + ln = length(mystr[cnt]) - 1 + @printf("Input: @str = %s\n", mystr[cnt][1:ln]) + mallow = mystr[cnt][end] + @printf("allowed = %s\n",mallow) + retval = CheckConsistent(mystr[cnt], mallow) + @printf("Output: %s\n\n",retval) + cnt += 1 +end + +#= +--------------------------------------- +SAMPLE OUTPUT + +julia .\Consistent.jl + +Input: @str = ["ad", "bd", "aaab", "baa", "badab"] +allowed = ab +Output: 2 + +Input: @str = ["a", "b", "c", "ab", "ac", "bc", "abc"] +allowed = abc +Output: 7 + +Input: @str = ["cc", "acd", "b", "ba", "bac", "bad", "ac", "d"] +allowed = cad +Output: 4 +-------------------------------------- +=# + + diff --git a/challenge-239/robert-dicicco/python/ch-2.py b/challenge-239/robert-dicicco/python/ch-2.py new file mode 100644 index 0000000000..04998913a2 --- /dev/null +++ b/challenge-239/robert-dicicco/python/ch-2.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +''' +--------------------------------------- +AUTHOR : Robert DiCicco +DATE : 2023-10-22 +Challenge 239 Task 02 Consistent Strings ( Python ) +-------------------------------------- +''' + + +mystr = [["ad", "bd", "aaab", "baa", "badab", "ab"], + ["a", "b", "c", "ab", "ac", "bc", "abc","abc"], + ["cc", "acd", "b", "ba", "bac", "bad", "ac", "d","cad"]] +cnt = 0 + +def CheckConsistent(str, mallow) : + total = 0 + i = 0 + while (i < len(str) - 1): + S = set([*str[i]]) + M = set([*mallow]) + df = (S - M) + if len(df) == 0: + total += 1 + i += 1 + return total + +while cnt < len(mystr) : + ln = len(mystr[cnt]) + print(f"Input: @str = {mystr[cnt][0:ln-1]}") + print(f"Allowed = {mystr[cnt][-1]}") + mallow = mystr[cnt][-1] + retval = CheckConsistent(mystr[cnt], mallow) + print(f"Output: {retval}\n") + cnt += 1 + +''' +--------------------------------------- +SAMPLE OUTPUT + +python .\Consistent.py + +Input: @str = ['ad', 'bd', 'aaab', 'baa', 'badab'] +Allowed = ab +Output: 2 + +Input: @str = ['a', 'b', 'c', 'ab', 'ac', 'bc', 'abc'] +Allowed = abc +Output: 7 + +Input: @str = ['cc', 'acd', 'b', 'ba', 'bac', 'bad', 'ac', 'd'] +Allowed = cad +Output: 4 +-------------------------------------- +''' + + diff --git a/challenge-239/robert-dicicco/ruby/ch-2.rb b/challenge-239/robert-dicicco/ruby/ch-2.rb new file mode 100644 index 0000000000..6b1f494593 --- /dev/null +++ b/challenge-239/robert-dicicco/ruby/ch-2.rb @@ -0,0 +1,61 @@ +#!/usr/bin/env ruby +=begin +--------------------------------------- +AUTHOR : Robert DiCicco +DATE : 2023-10-21 +Challenge 239 Task 02 Consistent Strings ( Ruby ) +-------------------------------------- +=end + +mystr = Array["ad", "bd", "aaab", "baa", "badab", "ab"], + ["a", "b", "c", "ab", "ac", "bc", "abc","abc"], + ["cc", "acd", "b", "ba", "bac", "bad", "ac", "d","cad"] +cnt = 0 + +def CheckConsistent(str, mallowed) + total = 0 + m_arr = mallowed.split('') + i = 0 + while i < str.length() - 1 + s_arr = str[i].split('') + df = s_arr - m_arr + if df.empty? + total += 1 + end + i += 1 + end + return total +end + +while cnt < mystr.length() do + ln = mystr[cnt].length() - 2 + puts("Input: @str = #{mystr[cnt][0..ln]}") + puts("Allowed = #{mystr[cnt].last()}") + mallow = mystr[cnt].last() + retval = CheckConsistent(mystr[cnt], mallow) + puts("Output: #{retval}\n\n") + cnt += 1 +end + +=begin +--------------------------------------- +SAMPLE OUTPUT + +ruby .\Consistent.rb + +Input: @str = ["ad", "bd", "aaab", "baa", "badab"] +Allowed = ab +Output: 2 + +Input: @str = ["a", "b", "c", "ab", "ac", "bc", "abc"] +Allowed = abc +Output: 7 + +Input: @str = ["cc", "acd", "b", "ba", "bac", "bad", "ac", "d"] +Allowed = cad +Output: 4 +-------------------------------------- +=end + + + diff --git a/guests.json b/guests.json index 6e90e74325..2ac38ab116 100644 --- a/guests.json +++ b/guests.json @@ -12,6 +12,7 @@ "joaofel" : "Joao Felipe", "karishma" : "Karishma Rajput", "macy-ty" : "Macy TY", + "memark" : "Magnus Markling", "mfoda" : "Mohammad Foda", "michael-dicicco" : "Michael DiCicco", "orestis-zekai" : "Orestis Zekai", diff --git a/members.json b/members.json index fd01214c67..b6c9dd1773 100644 --- a/members.json +++ b/members.json @@ -158,6 +158,7 @@ "massa" : "Humberto Massa", "mauke" : "mauke", "miguel-prz" : "Miguel Prz", + "librasteve" : "librasteve", "lubos-kolouch" : "Lubos Kolouch", "luca-ferrari" : "Luca Ferrari", "magnus-woldrich" : "Magnus Woldrich", @@ -194,7 +195,6 @@ "olivier-delouya" : "Olivier Delouya", "olli-antti" : "Olli-Antti Kivilahti", "ozzy" : "Ozzy", - "p6steve" : "P6steve", "pablo-saavedra" : "Pablo Saavedra", "packy-anderson" : "Packy Anderson", "paul-fajman" : "Paul Fajman", diff --git a/stats/pwc-challenge-238.json b/stats/pwc-challenge-238.json index ca5228cfe6..29264bd3fb 100644 --- a/stats/pwc-challenge-238.json +++ b/stats/pwc-challenge-238.json @@ -1,17 +1,9 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "legend" : { + "enabled" : 0 }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } + "chart" : { + "type" : "column" }, "drilldown" : { "series" : [ @@ -34,8 +26,8 @@ "name" : "Ali Moradi" }, { - "name" : "Andrew Grangaard", "id" : "Andrew Grangaard", + "name" : "Andrew Grangaard", "data" : [ [ "Perl", @@ -44,8 +36,8 @@ ] }, { - "name" : "Arne Sommer", "id" : "Arne Sommer", + "name" : "Arne Sommer", "data" : [ [ "Raku", @@ -72,7 +64,6 @@ "name" : "Athanasius" }, { - "id" : "Augie De Blieck Jr.", "data" : [ [ "Perl", @@ -83,9 +74,12 @@ 3 ] ], - "name" : "Augie De Blieck Jr." + "name" : "Augie De Blieck Jr.", + "id" : "Augie De Blieck Jr." }, { + "name" : "BarrOff", + "id" : "BarrOff", "data" : [ [ "Perl", @@ -95,13 +89,9 @@ "Raku", 1 ] - ], - "id" : "BarrOff", - "name" : "BarrOff" + ] }, { - "name" : "Bob Lied", - "id" : "Bob Lied", "data" : [ [ "Perl", @@ -111,7 +101,9 @@ "Blog", 1 ] - ] + ], + "id" : "Bob Lied", + "name" : "Bob Lied" }, { "name" : "Bruce Gray", @@ -134,8 +126,8 @@ ] }, { - "name" : "Dave Jacoby", "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -148,8 +140,8 @@ ] }, { - "name" : "David Ferrone", "id" : "David Ferrone", + "name" : "David Ferrone", "data" : [ [ "Perl", @@ -158,8 +150,8 @@ ] }, { - "name" : "E. Choroba", "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", @@ -168,16 +160,35 @@ ] }, { - "id" : "Humberto Massa", + "name" : "Flavio Poletti", + "id" : "Flavio Poletti", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 2 + ] + ] + }, + { "data" : [ [ "Raku", 2 ] ], + "id" : "Humberto Massa", "name" : "Humberto Massa" }, { + "id" : "Jaldhar H. Vyas", "name" : "Jaldhar H. Vyas", "data" : [ [ @@ -192,51 +203,49 @@ "Blog", 1 ] - ], - "id" : "Jaldhar H. Vyas" + ] }, { "name" : "Jan Krnavek", + "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ], - "id" : "Jan Krnavek" + ] }, { + "id" : "Jorg Sommrey", "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "id" : "Jorg Sommrey" + ] }, { + "name" : "Kjetil Skotheim", "id" : "Kjetil Skotheim", "data" : [ [ "Perl", 2 ] - ], - "name" : "Kjetil Skotheim" + ] }, { - "name" : "Lance Wicks", "data" : [ [ "Perl", 1 ] ], + "name" : "Lance Wicks", "id" : "Lance Wicks" }, { - "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -251,10 +260,10 @@ 2 ] ], + "name" : "Laurent Rosenfeld", "id" : "Laurent Rosenfeld" }, { - "name" : "Lubos Kolouch", "data" : [ [ "Perl", @@ -269,10 +278,10 @@ 1 ] ], - "id" : "Lubos Kolouch" + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch" }, { - "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -283,27 +292,28 @@ 7 ] ], - "name" : "Luca Ferrari" + "name" : "Luca Ferrari", + "id" : "Luca Ferrari" }, { + "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "id" : "Mark Anderson" + ] }, { + "name" : "Matthew Neleigh", + "id" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] - ], - "id" : "Matthew Neleigh", - "name" : "Matthew Neleigh" + ] }, { "data" : [ @@ -321,16 +331,15 @@ }, { "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ], - "name" : "Niels van Dijke" + ] }, { - "id" : "Packy Anderson", "data" : [ [ "Perl", @@ -345,9 +354,11 @@ 1 ] ], - "name" : "Packy Anderson" + "name" : "Packy Anderson", + "id" : "Packy Anderson" }, { + "id" : "Peter Campbell Smith", "name" : "Peter Campbell Smith", "data" : [ [ @@ -358,32 +369,29 @@ "Blog", 1 ] - ], - "id" : "Peter Campbell Smith" + ] }, { "id" : "Peter Meszaros", + "name" : "Peter Meszaros", "data" : [ [ "Perl", 2 ] - ], - "name" : "Peter Meszaros" + ] }, { + "name" : "rcmlz", + "id" : "rcmlz", "data" : [ [ "Raku", 2 ] - ], - "id" : "rcmlz", - "name" : "rcmlz" + ] }, { - "name" : "Robbie Hatley", - "id" : "Robbie Hatley", "data" : [ [ "Perl", @@ -393,7 +401,9 @@ "Blog", 1 ] - ] + ], + "id" : "Robbie Hatley", + "name" : "Robbie Hatley" }, { "data" : [ @@ -406,21 +416,20 @@ 2 ] ], - "id" : "Robert DiCicco", - "name" : "Robert DiCicco" + "name" : "Robert DiCicco", + "id" : "Robert DiCicco" }, { - "name" : "Robert Ransbottom", "data" : [ [ "Raku", 2 ] ], - "id" : "Robert Ransbottom" + "id" : "Robert Ransbottom", + "name" : "Robert Ransbottom" }, { - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -435,11 +444,12 @@ 1 ] ], - "id" : "Roger Bell_West" + "id" : "Roger Bell_West", + "name" : "Roger Bell_West" }, { - "name" : "Simon Green", "id" : "Simon Green", + "name" : "Simon Green", "data" : [ [ "Perl", @@ -452,8 +462,6 @@ ] }, { - "name" : "Thomas Kohler", - "id" : "Thomas Kohler", "data" : [ [ "Perl", @@ -463,9 +471,12 @@ "Blog", 2 ] - ] + ], + "id" : "Thomas Kohler", + "name" : "Thomas Kohler" }, { + "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", "data" : [ [ @@ -476,11 +487,9 @@ "Raku", 2 ] - ], - "id" : "Ulrich Rieke" + ] }, { - "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -491,31 +500,58 @@ 1 ] ], - "name" : "W. Luis Mochan" + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" }, { - "name" : "Yves Orton", "data" : [ [ "Perl", 2 ] ], - "id" : "Yves Orton" + "id" : "Yves Orton", + "name" : "Yves Orton" } ] }, - "chart" : { - "type" : "column" + "title" : { + "text" : "The Weekly Challenge - 238" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" + }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, + "subtitle" : { + "text" : "[Champions: 39] Last updated at 2023-10-23 00:45:07 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "series" : [ { "name" : "The Weekly Challenge - 238", + "colorByPoint" : 1, "data" : [ { + "name" : "Ali Moradi", "drilldown" : "Ali Moradi", - "y" : 5, - "name" : "Ali Moradi" + "y" : 5 }, { "drilldown" : "Andrew Grangaard", @@ -523,89 +559,94 @@ "name" : "Andrew Grangaard" }, { - "name" : "Arne Sommer", + "drilldown" : "Arne Sommer", "y" : 3, - "drilldown" : "Arne Sommer" + "name" : "Arne Sommer" }, { - "y" : 4, "drilldown" : "Athanasius", + "y" : 4, "name" : "Athanasius" }, { + "drilldown" : "Augie De Blieck Jr.", "name" : "Augie De Blieck Jr.", - "y" : 5, - "drilldown" : "Augie De Blieck Jr." + "y" : 5 }, { + "drilldown" : "BarrOff", "name" : "BarrOff", - "y" : 2, - "drilldown" : "BarrOff" + "y" : 2 }, { - "name" : "Bob Lied", "y" : 3, - "drilldown" : "Bob Lied" + "drilldown" : "Bob Lied", + "name" : "Bob Lied" }, { + "drilldown" : "Bruce Gray", "name" : "Bruce Gray", - "y" : 2, - "drilldown" : "Bruce Gray" + "y" : 2 }, { - "name" : "Cheok-Yin Fung", "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", "y" : 2 }, { - "name" : "Dave Jacoby", "drilldown" : "Dave Jacoby", - "y" : 3 + "y" : 3, + "name" : "Dave Jacoby" }, { + "name" : "David Ferrone", "drilldown" : "David Ferrone", - "y" : 2, - "name" : "David Ferrone" + "y" : 2 }, { + "name" : "E. Choroba", "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" + "y" : 2 }, { - "y" : 2, + "y" : 6, + "drilldown" : "Flavio Poletti", + "name" : "Flavio Poletti" + }, + { + "name" : "Humberto Massa", "drilldown" : "Humberto Massa", - "name" : "Humberto Massa" + "y" : 2 }, { "drilldown" : "Jaldhar H. Vyas", - "y" : 5, - "name" : "Jaldhar H. Vyas" + "name" : "Jaldhar H. Vyas", + "y" : 5 }, { - "name" : "Jan Krnavek", "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", "y" : 2 }, { - "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey", "y" : 2, - "drilldown" : "Jorg Sommrey" + "name" : "Jorg Sommrey" }, { - "y" : 2, + "name" : "Kjetil Skotheim", "drilldown" : "Kjetil Skotheim", - "name" : "Kjetil Skotheim" + "y" : 2 }, { - "name" : "Lance Wicks", + "drilldown" : "Lance Wicks", "y" : 1, - "drilldown" : "Lance Wicks" + "name" : "Lance Wicks" }, { + "drilldown" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", - "y" : 6, - "drilldown" : "Laurent Rosenfeld" + "y" : 6 }, { "name" : "Lubos Kolouch", @@ -613,9 +654,9 @@ "y" : 5 }, { + "name" : "Luca Ferrari", "drilldown" : "Luca Ferrari", - "y" : 9, - "name" : "Luca Ferrari" + "y" : 9 }, { "drilldown" : "Mark Anderson", @@ -623,59 +664,59 @@ "name" : "Mark Anderson" |
