diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2024-04-18 10:00:08 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2024-04-18 10:00:08 +0100 |
| commit | 300be0f12485336ca2d4a8b6746958941213a467 (patch) | |
| tree | 9095119a30ea31fe209121a3b87336348bd726c0 | |
| parent | 08960a666c6761afa7c34d92ecb422dd15bda06c (diff) | |
| download | perlweeklychallenge-club-300be0f12485336ca2d4a8b6746958941213a467.tar.gz perlweeklychallenge-club-300be0f12485336ca2d4a8b6746958941213a467.tar.bz2 perlweeklychallenge-club-300be0f12485336ca2d4a8b6746958941213a467.zip | |
- Added solutions by James Smith.
| -rw-r--r-- | challenge-265/james-smith/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-265/james-smith/perl/ch-1.pl | 12 | ||||
| -rw-r--r-- | challenge-265/james-smith/perl/ch-2.pl | 18 | ||||
| -rw-r--r-- | stats/pwc-current.json | 197 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 54 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1772 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 774 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 120 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 90 | ||||
| -rw-r--r-- | stats/pwc-summary-271-300.json | 94 | ||||
| -rw-r--r-- | stats/pwc-summary-301-330.json | 78 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 120 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 674 |
19 files changed, 2219 insertions, 2169 deletions
diff --git a/challenge-265/james-smith/blog.txt b/challenge-265/james-smith/blog.txt new file mode 100644 index 0000000000..f493d22b9f --- /dev/null +++ b/challenge-265/james-smith/blog.txt @@ -0,0 +1 @@ +https://challenges.jamessmith.me.uk/weekly/weekly-challenge-265 diff --git a/challenge-265/james-smith/perl/ch-1.pl b/challenge-265/james-smith/perl/ch-1.pl new file mode 100644 index 0000000000..1cd32c4c4e --- /dev/null +++ b/challenge-265/james-smith/perl/ch-1.pl @@ -0,0 +1,12 @@ +sub appearance_33 { + my( $threshold, $lowest, %counts ) = 0.33 * @_; + + ( ! defined $lowest || $_<=$lowest ) + && ( ++$counts{$_} > $threshold ) + && ( $lowest = $_ ) + for @_; + + $lowest +} + + diff --git a/challenge-265/james-smith/perl/ch-2.pl b/challenge-265/james-smith/perl/ch-2.pl new file mode 100644 index 0000000000..a72e231a20 --- /dev/null +++ b/challenge-265/james-smith/perl/ch-2.pl @@ -0,0 +1,18 @@ +sub completed_word { + my ( %needle, $shortest ); + + $needle{$_}++ for split //, (lc shift) =~ y{a-z}{}cdr; + + O: for( @_ ) { + my %haystack; + + $haystack{$_}++ for split //, lc; + + $shortest = $_ unless + ( defined $shortest && length $_ > length $shortest ) || + grep { ! exists $haystack{$_} || $needle{$_} > $haystack{$_} } + keys %needle; + } + + $shortest +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 2e7dfdbb61..0b463128e4 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,26 +1,20 @@ { - "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 - }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "title" : { - "text" : "The Weekly Challenge - 265" - }, "legend" : { "enabled" : 0 }, - "subtitle" : { - "text" : "[Champions: 20] Last updated at 2024-04-18 08:26:35 GMT" + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { + "name" : "Ali Moradi", + "id" : "Ali Moradi", "data" : [ [ "Perl", @@ -30,23 +24,21 @@ "Blog", 1 ] - ], - "id" : "Ali Moradi", - "name" : "Ali Moradi" + ] }, { - "name" : "Andrew Shitov", - "id" : "Andrew Shitov", "data" : [ [ "Raku", 1 ] - ] + ], + "id" : "Andrew Shitov", + "name" : "Andrew Shitov" }, { - "id" : "Athanasius", "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -83,18 +75,18 @@ ] }, { - "name" : "E. Choroba", - "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "E. Choroba", + "name" : "E. Choroba" }, { - "name" : "Feng Chang", "id" : "Feng Chang", + "name" : "Feng Chang", "data" : [ [ "Raku", @@ -103,8 +95,22 @@ ] }, { - "name" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "James Smith", + "id" : "James Smith" + }, + { "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -131,32 +137,32 @@ 9 ] ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { - "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "id" : "Niels van Dijke", - "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { - "name" : "Packy Anderson", "id" : "Packy Anderson", + "name" : "Packy Anderson", "data" : [ [ "Perl", @@ -187,16 +193,18 @@ ] }, { - "id" : "Peter Meszaros", - "name" : "Peter Meszaros", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Peter Meszaros", + "name" : "Peter Meszaros" }, { + "name" : "Reinier Maliepaard", + "id" : "Reinier Maliepaard", "data" : [ [ "Perl", @@ -206,13 +214,9 @@ "Blog", 1 ] - ], - "name" : "Reinier Maliepaard", - "id" : "Reinier Maliepaard" + ] }, { - "id" : "Robbie Hatley", - "name" : "Robbie Hatley", "data" : [ [ "Perl", @@ -222,7 +226,9 @@ "Blog", 1 ] - ] + ], + "id" : "Robbie Hatley", + "name" : "Robbie Hatley" }, { "id" : "Roger Bell_West", @@ -239,6 +245,8 @@ ] }, { + "name" : "Thomas Kohler", + "id" : "Thomas Kohler", "data" : [ [ "Perl", @@ -248,13 +256,11 @@ "Blog", 2 ] - ], - "id" : "Thomas Kohler", - "name" : "Thomas Kohler" + ] }, { - "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -277,30 +283,16 @@ 1 ] ], - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan" + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" } ] }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, "chart" : { "type" : "column" }, - "xAxis" : { - "type" : "category" - }, "series" : [ { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 265", "data" : [ { "drilldown" : "Ali Moradi", @@ -308,14 +300,14 @@ "name" : "Ali Moradi" }, { - "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov", "y" : 1, - "name" : "Andrew Shitov" + "drilldown" : "Andrew Shitov" }, { - "name" : "Athanasius", + "drilldown" : "Athanasius", "y" : 4, - "drilldown" : "Athanasius" + "name" : "Athanasius" }, { "drilldown" : "Dave Jacoby", @@ -323,9 +315,9 @@ "y" : 3 }, { - "drilldown" : "David Ferrone", + "name" : "David Ferrone", "y" : 2, - "name" : "David Ferrone" + "drilldown" : "David Ferrone" }, { "drilldown" : "E. Choroba", @@ -334,17 +326,22 @@ }, { "drilldown" : "Feng Chang", - "name" : "Feng Chang", - "y" : 2 + "y" : 2, + "name" : "Feng Chang" }, { + "drilldown" : "James Smith", "y" : 3, + "name" : "James Smith" + }, + { "name" : "Laurent Rosenfeld", + "y" : 3, "drilldown" : "Laurent Rosenfeld" }, { - "y" : 11, "name" : "Luca Ferrari", + "y" : 11, "drilldown" : "Luca Ferrari" }, { @@ -353,56 +350,78 @@ "drilldown" : "Mark Anderson" }, { + "drilldown" : "Niels van Dijke", "y" : 2, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" + "name" : "Niels van Dijke" }, { - "name" : "Packy Anderson", + "drilldown" : "Packy Anderson", "y" : 5, - "drilldown" : "Packy Anderson" + "name" : "Packy Anderson" }, { - "drilldown" : "Peter Campbell Smith", + "y" : 3, "name" : "Peter Campbell Smith", - "y" : 3 + "drilldown" : "Peter Campbell Smith" }, { "drilldown" : "Peter Meszaros", - "name" : "Peter Meszaros", - "y" : 2 + "y" : 2, + "name" : "Peter Meszaros" }, { - "y" : 3, "name" : "Reinier Maliepaard", + "y" : 3, "drilldown" : "Reinier Maliepaard" }, { - "y" : 3, "name" : "Robbie Hatley", + "y" : 3, "drilldown" : "Robbie Hatley" }, { - "y" : 4, + "drilldown" : "Roger Bell_West", "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West" + "y" : 4 }, { + "drilldown" : "Thomas Kohler", "name" : "Thomas Kohler", - "y" : 4, - "drilldown" : "Thomas Kohler" + "y" : 4 }, { - "drilldown" : "Ulrich Rieke", + "y" : 4, "name" : "Ulrich Rieke", - "y" : 4 + "drilldown" : "Ulrich Rieke" }, { + "drilldown" : "W. Luis Mochan", "y" : 3, - "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan" + "name" : "W. Luis Mochan" } - ] + ], + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 265" } - ] + ], + "title" : { + "text" : "The Weekly Challenge - 265" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "subtitle" : { + "text" : "[Champions: 21] Last updated at 2024-04-18 08:56:35 GMT" + }, + "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 + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index ee4bb3a1b1..6fe4a083f3 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,15 +1,24 @@ { + "subtitle" : { + "text" : "Last updated at 2024-04-18 08:56:35 GMT" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2024]" + }, "series" : [ { "name" : "Contributions", "data" : [ [ "Blog", - 4761 + 4762 ], [ "Perl", - 13723 + 13725 ], [ "Raku", @@ -17,47 +26,38 @@ ] ], "dataLabels" : { + "align" : "right", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "align" : "right", - "color" : "#FFFFFF", "enabled" : "true", - "format" : "{point.y:.0f}", + "rotation" : -90, "y" : 10, - "rotation" : -90 + "format" : "{point.y:.0f}", + "color" : "#FFFFFF" } } ], "chart" : { "type" : "column" }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "xAxis" : { + "type" : "category", "labels" : { "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" } - }, - "type" : "category" - }, - "subtitle" : { - "text" : "Last updated at 2024-04-18 08:26:35 GMT" + } }, "legend" : { "enabled" : "false" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2024]" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index b4d4546fd3..314d209726 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,12 +1,38 @@ { + "title" : { + "text" : "The Weekly Challenge Language" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-04-18 08:26:35 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-04-18 08:56:35 GMT" + }, + "tooltip" : { + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "followPointer" : "true" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { - "id" : "001", - "name" : "001", "data" : [ [ "Perl", @@ -20,11 +46,11 @@ "Blog", 12 ] - ] + ], + "name" : "001", + "id" : "001" }, { - "id" : "002", - "name" : "002", "data" : [ [ "Perl", @@ -38,9 +64,13 @@ "Blog", 10 ] - ] + ], + "name" : "002", + "id" : "002" }, { + "id" : "003", + "name" : "003", "data" : [ [ "Perl", @@ -54,13 +84,11 @@ "Blog", 9 ] - ], - "id" : "003", - "name" : "003" + ] }, { - "id" : "004", "name" : "004", + "id" : "004", "data" : [ [ "Perl", @@ -91,10 +119,12 @@ 12 ] ], - "id" : "005", - "name" : "005" + "name" : "005", + "id" : "005" }, { + "id" : "006", + "name" : "006", "data" : [ [ "Perl", @@ -108,9 +138,7 @@ "Blog", 7 ] - ], - "name" : "006", - "id" : "006" + ] }, { "id" : "007", @@ -149,8 +177,6 @@ ] }, { - "id" : "009", - "name" : "009", "data" : [ [ "Perl", @@ -164,7 +190,9 @@ "Blog", 13 ] - ] + ], + "name" : "009", + "id" : "009" }, { "data" : [ @@ -181,8 +209,8 @@ 11 ] ], - "id" : "010", - "name" : "010" + "name" : "010", + "id" : "010" }, { "id" : "011", @@ -235,8 +263,8 @@ 13 ] ], - "id" : "013", - "name" : "013" + "name" : "013", + "id" : "013" }, { "id" : "014", @@ -289,10 +317,12 @@ 13 ] ], - "id" : "016", - "name" : "016" + "name" : "016", + "id" : "016" }, { + "id" : "017", + "name" : "017", "data" : [ [ "Perl", @@ -306,9 +336,7 @@ "Blog", 12 ] - ], - "id" : "017", - "name" : "017" + ] }, { "data" : [ @@ -329,8 +357,6 @@ "id" : "018" }, { - "name" : "019", - "id" : "019", "data" : [ [ "Perl", @@ -344,11 +370,13 @@ "Blog", 13 ] - ] + ], + "id" : "019", + "name" : "019" }, { - "name" : "020", "id" : "020", + "name" : "020", "data" : [ [ "Perl", @@ -379,10 +407,12 @@ 10 ] ], - "name" : "021", - "id" : "021" + "id" : "021", + "name" : "021" }, { + "id" : "022", + "name" : "022", "data" : [ [ "Perl", @@ -396,13 +426,9 @@ "Blog", 10 ] - ], - "id" : "022", - "name" : "022" + ] }, { - "name" : "023", - "id" : "023", "data" : [ [ "Perl", @@ -416,7 +442,9 @@ "Blog", 12 ] - ] + ], + "name" : "023", + "id" : "023" }, { "data" : [ @@ -473,8 +501,6 @@ "name" : "026" }, { - "id" : "027", - "name" : "027", "data" : [ [ "Perl", @@ -488,7 +514,9 @@ "Blog", 9 ] - ] + ], + "name" : "027", + "id" : "027" }, { "id" : "028", @@ -541,10 +569,12 @@ 10 ] ], - "id" : "030", - "name" : "030" + "name" : "030", + "id" : "030" }, { + "id" : "031", + "name" : "031", "data" : [ [ "Perl", @@ -558,11 +588,11 @@ "Blog", 9 ] - ], - "name" : "031", - "id" : "031" + ] }, { + "name" : "032", + "id" : "032", "data" : [ [ "Perl", @@ -576,9 +606,7 @@ "Blog", 10 ] - ], - "name" : "032", - "id" : "032" + ] }, { "data" : [ @@ -595,10 +623,12 @@ 10 ] ], - "id" : "033", - "name" : "033" + "name" : "033", + "id" : "033" }, { + "id" : "034", + "name" : "034", "data" : [ [ "Perl", @@ -612,13 +642,11 @@ "Blog", 11 ] - ], - "name" : "034", - "id" : "034" + ] }, { - "name" : "035", "id" : "035", + "name" : "035", "data" : [ [ "Perl", @@ -635,6 +663,8 @@ ] }, { + "name" : "036", + "id" : "036", "data" : [ [ "Perl", @@ -648,9 +678,7 @@ "Blog", 11 ] - ], - "id" : "036", - "name" : "036" + ] }, { "id" : "037", @@ -671,6 +699,8 @@ ] }, { + "name" : "038", + "id" : "038", "data" : [ [ "Perl", @@ -684,11 +714,11 @@ "Blog", 12 ] - ], - "name" : "038", - "id" : "038" + ] }, { + "id" : "039", + "name" : "039", "data" : [ [ "Perl", @@ -702,9 +732,7 @@ "Blog", 12 ] - ], - "name" : "039", - "id" : "039" + ] }, { "name" : "040", @@ -779,8 +807,8 @@ "name" : "043" }, { - "id" : "044", "name" : "044", + "id" : "044", "data" : [ [ "Perl", @@ -811,12 +839,10 @@ 11 ] ], - "id" : "045", - "name" : "045" + "name" : "045", + "id" : "045" }, { - "id" : "046", - "name" : "046", "data" : [ [ "Perl", @@ -830,9 +856,13 @@ "Blog", 10 ] - ] + ], + "id" : "046", + "name" : "046" }, { + "id" : "047", + "name" : "047", "data" : [ [ "Perl", @@ -846,9 +876,7 @@ "Blog", 10 ] - ], - "name" : "047", - "id" : "047" + ] }, { "data" : [ @@ -865,8 +893,8 @@ 12 ] ], - "name" : "048", - "id" : "048" + "id" : "048", + "name" : "048" }, { "data" : [ @@ -883,10 +911,12 @@ 12 ] ], - "id" : "049", - "name" : "049" + "name" : "049", + "id" : "049" }, { + "name" : "050", + "id" : "050", "data" : [ [ "Perl", @@ -900,9 +930,7 @@ "Blog", 12 ] - ], - "name" : "050", - "id" : "050" + ] }, { "id" : "051", @@ -923,6 +951,8 @@ ] }, { + "id" : "052", + "name" : "052", "data" : [ [ "Perl", @@ -936,9 +966,7 @@ "Blog", 14 ] - ], - "name" : "052", - "id" : "052" + ] }, { "data" : [ @@ -955,10 +983,12 @@ 15 ] ], - "name" : "053", - "id" : "053" + " |
