aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2024-04-18 10:00:08 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2024-04-18 10:00:08 +0100
commit300be0f12485336ca2d4a8b6746958941213a467 (patch)
tree9095119a30ea31fe209121a3b87336348bd726c0
parent08960a666c6761afa7c34d92ecb422dd15bda06c (diff)
downloadperlweeklychallenge-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.txt1
-rw-r--r--challenge-265/james-smith/perl/ch-1.pl12
-rw-r--r--challenge-265/james-smith/perl/ch-2.pl18
-rw-r--r--stats/pwc-current.json197
-rw-r--r--stats/pwc-language-breakdown-summary.json54
-rw-r--r--stats/pwc-language-breakdown.json1772
-rw-r--r--stats/pwc-leaders.json774
-rw-r--r--stats/pwc-summary-1-30.json120
-rw-r--r--stats/pwc-summary-121-150.json40
-rw-r--r--stats/pwc-summary-151-180.json104
-rw-r--r--stats/pwc-summary-181-210.json48
-rw-r--r--stats/pwc-summary-211-240.json40
-rw-r--r--stats/pwc-summary-241-270.json90
-rw-r--r--stats/pwc-summary-271-300.json94
-rw-r--r--stats/pwc-summary-301-330.json78
-rw-r--r--stats/pwc-summary-31-60.json120
-rw-r--r--stats/pwc-summary-61-90.json100
-rw-r--r--stats/pwc-summary-91-120.json52
-rw-r--r--stats/pwc-summary.json674
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"
+ "