diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-10-12 21:43:45 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-10-12 21:43:45 +0100 |
| commit | 89c66871b2b57061fd6f12d71e016979e41e23a2 (patch) | |
| tree | 76c7839cc76614f3eacbfa16e03140d24dedc963 | |
| parent | 564829406b4704b821beb8940fe05fea5f302b01 (diff) | |
| download | perlweeklychallenge-club-89c66871b2b57061fd6f12d71e016979e41e23a2.tar.gz perlweeklychallenge-club-89c66871b2b57061fd6f12d71e016979e41e23a2.tar.bz2 perlweeklychallenge-club-89c66871b2b57061fd6f12d71e016979e41e23a2.zip | |
- Added solutions by Thomas Kohler.
- Added solutions by Andrew Grangaard.
- Added solutions by Athanasius.
- Added solutions by Arne Sommer.
- Added solutions by Robert DiCicco.
- Added solutions by Ali Moradi.
22 files changed, 2851 insertions, 2604 deletions
diff --git a/challenge-238/robert-dicicco/powershell/ch-2.psl b/challenge-238/robert-dicicco/powershell/ch-2.psl new file mode 100644 index 0000000000..81eba4057b --- /dev/null +++ b/challenge-238/robert-dicicco/powershell/ch-2.psl @@ -0,0 +1,52 @@ +#!/usr/bin/env powershell +<# +---------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-10-11 +Challenge 238 Task 02 Persistence Sort ( Powershell ) +---------------------------------------- + #> +$myints = @(( 15, 99, 1, 34),(50, 25, 33, 22)) + +function Reduce ( $num ) { + $steps = 0 + while ( $num -gt 9 ) { + $arr = [int[]](($num -split '') -ne '') + $num = $arr[0] * $arr[1] + $steps += 1 + } + return $steps +} + +foreach ($mints in $myints) { + write-host "Input: @int = [$mints]" + $h = @{} + $cnt = 0 + while ( $cnt -lt $mints.Count) { + $retval = Reduce $mints[$cnt] + $h[$mints[$cnt]] = $retval + $cnt += 1 + } + $h = $h.GetEnumerator() | sort -Property Value,Name + write-host "Output: [" -nonewline + foreach ($k in $h.GetEnumerator() ){ + Write-Host "$($k.Name) " -nonewline + } + write-host "]`n" +} + +<# +---------------------------------------- +SAMPLE OUTPUT + +.\Persistence.ps1 + +Input: @int = [15 99 1 34] +Output: [1 15 34 99 ] + +Input: @int = [50 25 33 22] +Output: [22 33 50 25 ] +---------------------------------------- + #> + + diff --git a/challenge-238/robert-dicicco/python/ch-2.py b/challenge-238/robert-dicicco/python/ch-2.py new file mode 100644 index 0000000000..207a2d4c9b --- /dev/null +++ b/challenge-238/robert-dicicco/python/ch-2.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +''' +---------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-10-12 +Challenge 238 Task 02 Persistence Sort ( Python ) +---------------------------------------- +''' +import math +from operator import itemgetter + +myints = [[15, 99, 1, 34],[50, 25, 33, 22]] + +def Reduce ( num ): + if num < 0 or num > 99: + return 0 + steps = 0; + while num > 9: + num = math.floor(num/10) * (num % 10) + steps += 1 + return steps + +for mints in myints: + print("Input: @int = ",mints) + cnt = 0 + h = {} + while cnt < len(mints): + retval = Reduce(mints[cnt]) + h[mints[cnt]] = retval + cnt += 1 + res = dict(sorted(h.items(), key=itemgetter(1, 0))) + print("Output: [ ", end="") + for key in res.keys(): + print(f"{key} ",end="") + print("]\n") + +''' +---------------------------------------- +SAMPLE OUTPUT +python .\Persistence.py + +Input: @int = [15, 99, 1, 34] +Output: [ 1 15 34 99 ] + +Input: @int = [50, 25, 33, 22] +Output: [ 22 33 50 25 ] +---------------------------------------- +''' + + diff --git a/challenge-238/robert-dicicco/raku/ch-2.raku b/challenge-238/robert-dicicco/raku/ch-2.raku new file mode 100644 index 0000000000..dad5f5b59d --- /dev/null +++ b/challenge-238/robert-dicicco/raku/ch-2.raku @@ -0,0 +1,50 @@ +#!/usr/bin/env raku +=begin comment +---------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-10-12 +Challenge 238 Task 02 Persistence Sort ( Raku ) +---------------------------------------- +=end comment + +my @myints = ([15, 99, 1, 34],[50, 25, 33, 22]); + +sub Reduce ( $num is copy) { + if $num < 0 or $num > 99 {return 0;} + my $steps = 0; + while $num > 9 { + $num = (floor($num/10)) * ($num % 10); + $steps++; + } + return $steps; +} + +for (@myints) -> @mints { + my $cnt = 0; + my %h; + say "Input: @int = ["~@mints~"]"; + while $cnt < @mints.elems { + my $retval = Reduce(@mints[$cnt]); + %h{@mints[$cnt]} = $retval; + $cnt++; + } + print "Output: [ "; + for %h.sort: *.invert { + print .key ~ " "; + } + say "]\n"; +} + +=begin comment +---------------------------------------- +SAMPLE OUTPUT +raku .\Persistence.rk + +Input: @int = [15 99 1 34] +Output: [ 1 15 34 99 ] + +Input: @int = [50 25 33 22] +Output: [ 22 33 50 25 ] +---------------------------------------- +=end comment + diff --git a/challenge-238/spazm/perl/task_1_running_sum.pl b/challenge-238/spazm/perl/ch-1.pl index e640ec52ef..e640ec52ef 100755 --- a/challenge-238/spazm/perl/task_1_running_sum.pl +++ b/challenge-238/spazm/perl/ch-1.pl diff --git a/challenge-238/spazm/perl/task_2_persistence_sort.pl b/challenge-238/spazm/perl/ch-2.pl index 989509871a..989509871a 100755 --- a/challenge-238/spazm/perl/task_2_persistence_sort.pl +++ b/challenge-238/spazm/perl/ch-2.pl diff --git a/challenge-238/spazm/python/task_1_running_sum.py b/challenge-238/spazm/python/ch-1.py index 391fb82cfa..391fb82cfa 100755 --- a/challenge-238/spazm/python/task_1_running_sum.py +++ b/challenge-238/spazm/python/ch-1.py diff --git a/challenge-238/spazm/python/task_2_persistence_sort.py b/challenge-238/spazm/python/ch-2.py index 1278bac699..1278bac699 100755 --- a/challenge-238/spazm/python/task_2_persistence_sort.py +++ b/challenge-238/spazm/python/ch-2.py diff --git a/stats/pwc-current.json b/stats/pwc-current.json index a5e6ca1d04..171751b13f 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,21 +1,72 @@ { + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "id" : "Bob Lied", + "id" : "Ali Moradi", "data" : [ [ "Perl", 2 ], [ + "Raku", + 2 + ], + [ "Blog", 1 ] ], - "name" : "Bob Lied" + "name" : "Ali Moradi" }, { + "id" : "Andrew Grangaard", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Andrew Grangaard" + }, + { + "id" : "Arne Sommer", + "name" : "Arne Sommer", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Athanasius", + "name" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "name" : "Bob Lied", "data" : [ [ "Perl", @@ -26,18 +77,31 @@ 1 ] ], + "id" : "Bob Lied" + }, + { "name" : "Dave Jacoby", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], "id" : "Dave Jacoby" }, { + "id" : "David Ferrone", "name" : "David Ferrone", "data" : [ [ "Perl", 2 ] - ], - "id" : "David Ferrone" + ] }, { "name" : "E. Choroba", @@ -50,14 +114,14 @@ "id" : "E. Choroba" }, { + "id" : "Humberto Massa", "name" : "Humberto Massa", "data" : [ [ "Raku", 2 ] - ], - "id" : "Humberto Massa" + ] }, { "data" : [ @@ -70,6 +134,7 @@ "id" : "Lance Wicks" }, { + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -84,11 +149,11 @@ 2 ] ], - "name" : "Laurent Rosenfeld", "id" : "Laurent Rosenfeld" }, { "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch", "data" : [ [ "Perl", @@ -102,11 +167,9 @@ "Blog", 1 ] - ], - "name" : "Lubos Kolouch" + ] }, { - "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -117,27 +180,28 @@ 7 ] ], - "name" : "Luca Ferrari" + "name" : "Luca Ferrari", + "id" : "Luca Ferrari" }, { - "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], + "name" : "Mark Anderson", "id" : "Mark Anderson" }, { - "name" : "Matthew Neleigh", + "id" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] ], - "id" : "Matthew Neleigh" + "name" : "Matthew Neleigh" }, { "data" : [ @@ -150,6 +214,8 @@ "id" : "Niels van Dijke" }, { + "id" : "Packy Anderson", + "name" : "Packy Anderson", "data" : [ [ "Perl", @@ -163,12 +229,9 @@ "Blog", 1 ] - ], - "name" : "Packy Anderson", - "id" : "Packy Anderson" + ] }, { - "id" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -179,20 +242,21 @@ 1 ] ], - "name" : "Peter Campbell Smith" + "name" : "Peter Campbell Smith", + "id" : "Peter Campbell Smith" }, { - "id" : "Peter Meszaros", - "name" : "Peter Meszaros", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Peter Meszaros", + "id" : "Peter Meszaros" }, { - "name" : "Robbie Hatley", + "id" : "Robbie Hatley", "data" : [ [ "Perl", @@ -203,11 +267,9 @@ 1 ] ], - "id" : "Robbie Hatley" + "name" : "Robbie Hatley" }, { - "id" : "Robert DiCicco", - "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -215,12 +277,14 @@ ], [ "Raku", - 1 + 2 ] - ] + ], + "name" : "Robert DiCicco", + "id" : "Robert DiCicco" }, { - "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -231,9 +295,24 @@ 2 ] ], - "id" : "Roger Bell_West" + "name" : "Roger Bell_West" }, { + "id" : "Thomas Kohler", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "name" : "Thomas Kohler" + }, + { + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -244,11 +323,10 @@ 2 ] ], - "name" : "Ulrich Rieke", - "id" : "Ulrich Rieke" + "name" : "Ulrich Rieke" }, { - "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -259,99 +337,104 @@ 1 ] ], - "id" : "W. Luis Mochan" + "name" : "W. Luis Mochan" } ] }, - "tooltip" : { - "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/>", - "followPointer" : 1 - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge - 238" - }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : 0 - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "title" : { + "text" : "The Weekly Challenge - 238" }, "series" : [ { + "colorByPoint" : 1, "data" : [ { - "name" : "Bob Lied", - "drilldown" : "Bob Lied", - "y" : 3 + "name" : "Ali Moradi", + "y" : 5, + "drilldown" : "Ali Moradi" + }, + { + "y" : 2, + "drilldown" : "Andrew Grangaard", + "name" : "Andrew Grangaard" + }, + { + "y" : 3, + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "name" : "Athanasius", + "y" : 4, + "drilldown" : "Athanasius" }, { "y" : 3, + "drilldown" : "Bob Lied", + "name" : "Bob Lied" + }, + { + "name" : "Dave Jacoby", "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" + "y" : 3 }, { - "y" : 2, + "name" : "David Ferrone", "drilldown" : "David Ferrone", - "name" : "David Ferrone" + "y" : 2 }, { "name" : "E. Choroba", - "drilldown" : "E. Choroba", - "y" : 2 + "y" : 2, + "drilldown" : "E. Choroba" }, { + "name" : "Humberto Massa", "drilldown" : "Humberto Massa", - "y" : 2, - "name" : "Humberto Massa" + "y" : 2 }, { "name" : "Lance Wicks", - "y" : 1, - "drilldown" : "Lance Wicks" + "drilldown" : "Lance Wicks", + "y" : 1 }, { + "name" : "Laurent Rosenfeld", "drilldown" : "Laurent Rosenfeld", - "y" : 6, - "name" : "Laurent Rosenfeld" + "y" : 6 }, { - "y" : 5, + "name" : "Lubos Kolouch", "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch" + "y" : 5 }, { - "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari", "y" : 9, - "drilldown" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { - "y" : 2, + "name" : "Mark Anderson", "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" + "y" : 2 }, { - "y" : 2, + "name" : "Matthew Neleigh", "drilldown" : "Matthew Neleigh", - "name" : "Matthew Neleigh" + "y" : 2 }, { "name" : "Niels van Dijke", - "y" : 2, - "drilldown" : "Niels van Dijke" + "drilldown" : "Niels van Dijke", + "y" : 2 }, { - "name" : "Packy Anderson", + "y" : 5, "drilldown" : "Packy Anderson", - "y" : 5 + "name" : "Packy Anderson" }, { "drilldown" : "Peter Campbell Smith", @@ -359,28 +442,33 @@ "name" : "Peter Campbell Smith" }, { + "name" : "Peter Meszaros", "y" : 2, - "drilldown" : "Peter Meszaros", - "name" : "Peter Meszaros" + "drilldown" : "Peter Meszaros" }, { - "y" : 3, + "name" : "Robbie Hatley", "drilldown" : "Robbie Hatley", - "name" : "Robbie Hatley" + "y" : 3 }, { + "y" : 4, "drilldown" : "Robert DiCicco", - "y" : 3, "name" : "Robert DiCicco" }, { - "drilldown" : "Roger Bell_West", "y" : 4, + "drilldown" : "Roger Bell_West", "name" : "Roger Bell_West" }, { - "drilldown" : "Ulrich Rieke", + "drilldown" : "Thomas Kohler", "y" : 4, + "name" : "Thomas Kohler" + }, + { + "y" : 4, + "drilldown" : "Ulrich Rieke", "name" : "Ulrich Rieke" }, { @@ -389,20 +477,27 @@ "drilldown" : "W. Luis Mochan" } ], - "name" : "The Weekly Challenge - 238", - "colorByPoint" : 1 + "name" : "The Weekly Challenge - 238" } ], - "subtitle" : { - "text" : "[Champions: 20] Last updated at 2023-10-11 18:18:52 GMT" + "tooltip" : { + "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/>", + "followPointer" : 1 }, "plotOptions" : { "series" : { "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 + "enabled" : 1, + "format" : "{point.y}" }, "borderWidth" : 0 } + }, + "subtitle" : { + "text" : "[Champions: 25] Last updated at 2023-10-12 20:39:38 GMT" + }, + "legend" : { + "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 9446d89d73..cf1a6a7ffd 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -5,59 +5,59 @@ }, "min" : 0 }, - "subtitle" : { - "text" : "Last updated at 2023-10-11 18:18:52 GMT" + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } }, "series" : [ { "dataLabels" : { - "rotation" : -90, "enabled" : "true", + "rotation" : -90, + "align" : "right", "y" : 10, - "format" : "{point.y:.0f}", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "align" : "right", + "format" : "{point.y:.0f}", "color" : "#FFFFFF" }, + "name" : "Contributions", "data" : [ [ "Blog", - 4053 + 4057 ], [ "Perl", - 12233 + 12241 ], [ "Raku", - 7042 + 7049 ] - ], - "name" : "Contributions" + ] } ], - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2023]" + "subtitle" : { + "text" : "Last updated at 2023-10-12 20:39:38 GMT" }, "legend" : { "enabled" : "false" }, "chart" : { "type" : "column" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2023]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index dd73dcb7a0..9b1d63a46c 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,11 +1,1219 @@ { - "xAxis" : { - "type" : "category" - }, + "series" : [ + { + "colorByPoint" : "true", + "name" : "The Weekly Challenge Languages", + "data" : [ + { + "name" : "#001", + "y" : 164, + "drilldown" : "001" + }, + { + "drilldown" : "002", + "y" : 129, + "name" : "#002" + }, + { + "name" : "#003", + "y" : 87, + "drilldown" : "003" + }, + { + "drilldown" : "004", + "y" : 103, + "name" : "#004" + }, + { + "name" : "#005", + "y" : 80, + "drilldown" : "005" + }, + { + "name" : "#006", + "y" : 61, + "drilldown" : "006" + }, + { + "drilldown" : "007", + "y" : 69, + "name" : "#007" + }, + { + "name" : "#008", + "y" : 82, + "drilldown" : "008" + }, + { + "drilldown" : "009", + "y" : 80, + "name" : "#009" + }, + { + "name" : "#010", + "drilldown" : "010", + "y" : 69 + }, + { + "name" : "#011", + "drilldown" : "011", + "y" : 89 + }, + { + "y" : 92, + "drilldown" : "012", + "name" : "#012" + }, + { + "name" : "#013", + "y" : 87, + "drilldown" : "013" + }, + { + "drilldown" : "014", + "y" : 102, + "name" : "#014" + }, + { + "name" : "#015", + "drilldown" : "015", + "y" : 101 + }, + { + "name" : "#016", + "y" : 75, + "drilldown" : "016" + }, + { + "drilldown" : "017", + "y" : 86, + "name" : "#017" + }, + { + "name" : "#018", + "drilldown" : "018", + "y" : 83 + }, + { + "y" : 105, + "drilldown" : "019", + "name" : "#019" + }, + { + "y" : 103, + "drilldown" : "020", + "name" : "#020" + }, + { + "name" : "#021", + "drilldown" : "021", + "y" : 74 + }, + { + "drilldown" : "022", + "y" : 72, + "name" : "#022" + }, + { + "name" : "#023", + "y" : 101, + "drilldown" : "023" + }, + { + "drilldown" : "024", + "y" : 77, + "name" : "#024" + }, + { + "name" : "#025", + "drilldown" : "025", + "y" : 62 + }, + { + "y" : 76, + "drilldown" : "026", + "name" : "#026" + }, + { + "name" : "#027", + "y" : 64, + "drilldown" : "027" + }, + { + "name" : "#028", + "drilldown" : "028", + "y" : 82 + }, + { + "drilldown" : "029", + "y" : 83, + "name" : "#029" + }, + { + "name" : "#030", + "y" : 121, + "drilldown" : "030" + }, + { |
