aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2023-12-28 21:30:48 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2023-12-28 21:30:48 +0000
commit80dd2ab239aecd016700c06fffaf45a8d1250ec4 (patch)
tree08aedd50838479a5dbca458c547b4967d8f493ce
parentd803efd4f920857866ac7ea4866f849a259f7ed9 (diff)
downloadperlweeklychallenge-club-80dd2ab239aecd016700c06fffaf45a8d1250ec4.tar.gz
perlweeklychallenge-club-80dd2ab239aecd016700c06fffaf45a8d1250ec4.tar.bz2
perlweeklychallenge-club-80dd2ab239aecd016700c06fffaf45a8d1250ec4.zip
- Added solutions by James Smith.
-rw-r--r--challenge-249/james-smith/blog.txt1
-rw-r--r--challenge-249/james-smith/perl/ch-1.pl9
-rw-r--r--challenge-249/james-smith/perl/ch-2.pl4
-rw-r--r--stats/pwc-current.json193
-rw-r--r--stats/pwc-language-breakdown-summary.json76
-rw-r--r--stats/pwc-language-breakdown.json1610
-rw-r--r--stats/pwc-leaders.json386
-rw-r--r--stats/pwc-summary-1-30.json100
-rw-r--r--stats/pwc-summary-121-150.json40
-rw-r--r--stats/pwc-summary-151-180.json106
-rw-r--r--stats/pwc-summary-181-210.json22
-rw-r--r--stats/pwc-summary-211-240.json24
-rw-r--r--stats/pwc-summary-241-270.json26
-rw-r--r--stats/pwc-summary-271-300.json116
-rw-r--r--stats/pwc-summary-301-330.json38
-rw-r--r--stats/pwc-summary-31-60.json34
-rw-r--r--stats/pwc-summary-61-90.json48
-rw-r--r--stats/pwc-summary-91-120.json108
-rw-r--r--stats/pwc-summary.json648
19 files changed, 1811 insertions, 1778 deletions
diff --git a/challenge-249/james-smith/blog.txt b/challenge-249/james-smith/blog.txt
new file mode 100644
index 0000000000..2958d8ff12
--- /dev/null
+++ b/challenge-249/james-smith/blog.txt
@@ -0,0 +1 @@
+https://challenges.jamessmith.me.uk/weekly/weekly-challenge-249/
diff --git a/challenge-249/james-smith/perl/ch-1.pl b/challenge-249/james-smith/perl/ch-1.pl
new file mode 100644
index 0000000000..32e251479c
--- /dev/null
+++ b/challenge-249/james-smith/perl/ch-1.pl
@@ -0,0 +1,9 @@
+sub equal_pairs {
+ my(%C,$t);
+ $C{$_}++ for @_; ## Collect counts
+ (grep { $_%2 } values %C) ## Are all counts event...!
+ ? () ## No return nothing...
+ : [map { $t=$_; ## Make "n/2" copies of [X,X]
+ map { [$t,$t] } 1..$C{$t}/2
+ } keys %C ]
+}
diff --git a/challenge-249/james-smith/perl/ch-2.pl b/challenge-249/james-smith/perl/ch-2.pl
new file mode 100644
index 0000000000..57f8e70f3a
--- /dev/null
+++ b/challenge-249/james-smith/perl/ch-2.pl
@@ -0,0 +1,4 @@
+sub DI_string_match {
+ my( $n, $x ) = ( 0, length $_[0] );
+ map( { 'I' eq $_ ? $n++ : $x-- } split //, $_[0] ), $n
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index fc021885c0..48d4b173e3 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,15 +1,17 @@
{
- "legend" : {
- "enabled" : 0
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
}
},
"series" : [
{
"colorByPoint" : 1,
+ "name" : "The Weekly Challenge - 249",
"data" : [
{
"name" : "Arne Sommer",
@@ -17,39 +19,44 @@
"y" : 3
},
{
+ "drilldown" : "Bob Lied",
"name" : "Bob Lied",
- "y" : 3,
- "drilldown" : "Bob Lied"
+ "y" : 3
},
{
"drilldown" : "Dave Jacoby",
- "y" : 3,
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "y" : 3
},
{
- "name" : "David Ferrone",
"y" : 2,
- "drilldown" : "David Ferrone"
+ "drilldown" : "David Ferrone",
+ "name" : "David Ferrone"
},
{
"name" : "E. Choroba",
- "y" : 2,
- "drilldown" : "E. Choroba"
+ "drilldown" : "E. Choroba",
+ "y" : 2
},
{
+ "drilldown" : "James Smith",
+ "name" : "James Smith",
+ "y" : 3
+ },
+ {
+ "y" : 2,
"name" : "Kjetil Skotheim",
- "drilldown" : "Kjetil Skotheim",
- "y" : 2
+ "drilldown" : "Kjetil Skotheim"
},
{
- "y" : 3,
"drilldown" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld"
+ "name" : "Laurent Rosenfeld",
+ "y" : 3
},
{
- "y" : 10,
+ "name" : "Luca Ferrari",
"drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari"
+ "y" : 10
},
{
"y" : 2,
@@ -57,19 +64,19 @@
"name" : "Mark Anderson"
},
{
- "name" : "Packy Anderson",
"drilldown" : "Packy Anderson",
+ "name" : "Packy Anderson",
"y" : 5
},
{
+ "name" : "Peter Campbell Smith",
"drilldown" : "Peter Campbell Smith",
- "y" : 3,
- "name" : "Peter Campbell Smith"
+ "y" : 3
},
{
+ "y" : 2,
"name" : "Peter Meszaros",
- "drilldown" : "Peter Meszaros",
- "y" : 2
+ "drilldown" : "Peter Meszaros"
},
{
"name" : "Robert Ransbottom",
@@ -77,56 +84,56 @@
"y" : 2
},
{
- "drilldown" : "Roger Bell_West",
"y" : 4,
+ "drilldown" : "Roger Bell_West",
"name" : "Roger Bell_West"
},
{
- "drilldown" : "Stephen G. Lynn",
"y" : 3,
- "name" : "Stephen G. Lynn"
+ "name" : "Stephen G. Lynn",
+ "drilldown" : "Stephen G. Lynn"
},
{
- "drilldown" : "Thomas Kohler",
"y" : 4,
- "name" : "Thomas Kohler"
+ "name" : "Thomas Kohler",
+ "drilldown" : "Thomas Kohler"
},
{
- "y" : 4,
+ "name" : "Ulrich Rieke",
"drilldown" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
+ "y" : 4
},
{
- "drilldown" : "W. Luis Mochan",
"y" : 3,
- "name" : "W. Luis Mochan"
+ "name" : "W. Luis Mochan",
+ "drilldown" : "W. Luis Mochan"
}
- ],
- "name" : "The Weekly Challenge - 249"
+ ]
}
],
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
+ "subtitle" : {
+ "text" : "[Champions: 19] Last updated at 2023-12-28 21:28:12 GMT"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
}
},
+ "legend" : {
+ "enabled" : 0
+ },
"xAxis" : {
"type" : "category"
},
- "subtitle" : {
- "text" : "[Champions: 18] Last updated at 2023-12-28 20:38:40 GMT"
- },
- "chart" : {
- "type" : "column"
+ "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/>"
},
"drilldown" : {
"series" : [
{
- "name" : "Arne Sommer",
+ "id" : "Arne Sommer",
"data" : [
[
"Raku",
@@ -137,11 +144,11 @@
1
]
],
- "id" : "Arne Sommer"
+ "name" : "Arne Sommer"
},
{
- "id" : "Bob Lied",
"name" : "Bob Lied",
+ "id" : "Bob Lied",
"data" : [
[
"Perl",
@@ -154,8 +161,8 @@
]
},
{
- "id" : "Dave Jacoby",
"name" : "Dave Jacoby",
+ "id" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -168,37 +175,51 @@
]
},
{
- "id" : "David Ferrone",
+ "name" : "David Ferrone",
"data" : [
[
"Perl",
2
]
],
- "name" : "David Ferrone"
+ "id" : "David Ferrone"
},
{
- "id" : "E. Choroba",
"name" : "E. Choroba",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "E. Choroba"
},
{
- "name" : "Kjetil Skotheim",
"data" : [
[
"Perl",
2
+ ],
+ [
+ "Blog",
+ 1
]
],
- "id" : "Kjetil Skotheim"
+ "id" : "James Smith",
+ "name" : "James Smith"
},
{
- "id" : "Laurent Rosenfeld",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
+ "id" : "Kjetil Skotheim",
+ "name" : "Kjetil Skotheim"
+ },
+ {
+ "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -213,11 +234,9 @@
1
]
],
- "name" : "Laurent Rosenfeld"
+ "id" : "Laurent Rosenfeld"
},
{
- "id" : "Luca Ferrari",
- "name" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -227,19 +246,22 @@
"Blog",
8
]
- ]
+ ],
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari"
},
{
+ "id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
],
- "name" : "Mark Anderson",
- "id" : "Mark Anderson"
+ "name" : "Mark Anderson"
},
{
+ "name" : "Packy Anderson",
"id" : "Packy Anderson",
"data" : [
[
@@ -254,10 +276,10 @@
"Blog",
1
]
- ],
- "name" : "Packy Anderson"
+ ]
},
{
+ "id" : "Peter Campbell Smith",
"data" : [
[
"Perl",
@@ -268,32 +290,31 @@
1
]
],
- "name" : "Peter Campbell Smith",
- "id" : "Peter Campbell Smith"
+ "name" : "Peter Campbell Smith"
},
{
+ "name" : "Peter Meszaros",
+ "id" : "Peter Meszaros",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Peter Meszaros",
- "id" : "Peter Meszaros"
+ ]
},
{
- "name" : "Robert Ransbottom",
"data" : [
[
"Raku",
2
]
],
- "id" : "Robert Ransbottom"
+ "id" : "Robert Ransbottom",
+ "name" : "Robert Ransbottom"
},
{
- "id" : "Roger Bell_West",
"name" : "Roger Bell_West",
+ "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -306,6 +327,7 @@
]
},
{
+ "id" : "Stephen G. Lynn",
"data" : [
[
"Perl",
@@ -316,11 +338,11 @@
1
]
],
- "name" : "Stephen G. Lynn",
- "id" : "Stephen G. Lynn"
+ "name" : "Stephen G. Lynn"
},
{
"name" : "Thomas Kohler",
+ "id" : "Thomas Kohler",
"data" : [
[
"Perl",
@@ -330,11 +352,10 @@
"Blog",
2
]
- ],
- "id" : "Thomas Kohler"
+ ]
},
{
- "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -345,10 +366,9 @@
2
]
],
- "name" : "Ulrich Rieke"
+ "id" : "Ulrich Rieke"
},
{
- "id" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -359,16 +379,15 @@
1
]
],
+ "id" : "W. Luis Mochan",
"name" : "W. Luis Mochan"
}
]
},
+ "chart" : {
+ "type" : "column"
+ },
"title" : {
"text" : "The Weekly Challenge - 249"
- },
- "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/>"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 9e207ebed5..8b1f95095b 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
- "yAxis" : {
- "min" : 0,
- "title" : {
- "text" : null
- }
- },
- "legend" : {
- "enabled" : "false"
- },
- "subtitle" : {
- "text" : "Last updated at 2023-12-28 20:38:40 GMT"
- },
- "xAxis" : {
- "labels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- }
- },
- "type" : "category"
- },
"series" : [
{
+ "dataLabels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ },
+ "format" : "{point.y:.0f}",
+ "align" : "right",
+ "rotation" : -90,
+ "color" : "#FFFFFF",
+ "enabled" : "true",
+ "y" : 10
+ },
"data" : [
[
"Blog",
- 4347
+ 4348
],
[
"Perl",
- 12829
+ 12831
],
[
"Raku",
7397
]
],
- "name" : "Contributions",
- "dataLabels" : {
- "format" : "{point.y:.0f}",
- "rotation" : -90,
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
- "color" : "#FFFFFF",
- "y" : 10,
- "align" : "right",
- "enabled" : "true"
- }
+ "name" : "Contributions"
}
],
- "title" : {
- "text" : "The Weekly Challenge Contributions [2019 - 2023]"
+ "subtitle" : {
+ "text" : "Last updated at 2023-12-28 21:28:12 GMT"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
+ },
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ },
+ "type" : "category"
+ },
+ "legend" : {
+ "enabled" : "false"
},
"chart" : {
"type" : "column"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "title" : {
+ "text" : "The Weekly Challenge Contributions [2019 - 2023]"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index c0aac099cc..20f0f13c24 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,32 +1,27 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
}
},
- "legend" : {
- "enabled" : "false"
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2023-12-28 20:38:40 GMT"
- },
- "xAxis" : {
- "type" : "category"
- },
"series" : [
{
"colorByPoint" : "true",
"name" : "The Weekly Challenge Languages",
"data" : [
{
- "name" : "#001",
"y" : 164,
- "drilldown" : "001"
+ "drilldown" : "001",
+ "name" : "#001"
},
{
+ "drilldown" : "002",
"name" : "#002",
- "y" : 129,
- "drilldown" : "002"
+ "y" : 129
},
{
"name" : "#003",
@@ -34,49 +29,49 @@
"y" : 87
},
{
+ "y" : 103,
"name" : "#004",
- "drilldown" : "004",
- "y" : 103
+ "drilldown" : "004"
},
{
+ "drilldown" : "005",
"name" : "#005",
- "y" : 80,
- "drilldown" : "005"
+ "y" : 80
},
{
- "y" : 61,
+ "name" : "#006",
"drilldown" : "006",
- "name" : "#006"
+ "y" : 61
},
{
"name" : "#007",
- "y" : 69,
- "drilldown" : "007"
+ "drilldown" : "007",
+ "y" : 69
},
{
- "drilldown" : "008",
"y" : 82,
+ "drilldown" : "008",
"name" : "#008"
},
{
"name" : "#009",
- "y" : 80,
- "drilldown" : "009"
+ "drilldown" : "009",
+ "y" : 80
},
{
- "drilldown" : "010",
"y" : 69,
- "name" : "#010"
+ "name" : "#010",
+ "drilldown" : "010"
},
{
+ "name" : "#011",
"drilldown" : "011",
- "y" : 89,
- "name" : "#011"
+ "y" : 89
},
{
"drilldown" : "012",
- "y" : 92,
- "name" : "#012"
+ "name" : "#012",
+ "y" : 92
},
{
"y" : 87,
@@ -84,14 +79,14 @@
"name" : "#013"
},
{
- "y" : 102,
"drilldown" : "014",
- "name" : "#014"
+ "name" : "#014",
+ "y" : 102
},
{
"drilldown" : "015",
- "y" : 101,
- "name" : "#015"
+ "name" : "#015",
+ "y" : 101
},
{
"name" : "#016",
@@ -99,13 +94,13 @@
"y" : 75
},
{
- "drilldown" : "017",
"y" : 86,
+ "drilldown" : "017",
"name" : "#017"
},
{
- "drilldown" : "018",
"y" : 83,
+ "drilldown" : "018",
"name" : "#018"
},
{
@@ -114,69 +109,69 @@
"name" : "#019"
},
{
- "drilldown" : "020",
"y" : 103,
- "name" : "#020"
+ "name" : "#020",
+ "drilldown" : "020"
},
{
+ "drilldown" : "021",
"name" : "#021",
- "y" : 74,
- "drilldown" : "021"
+ "y" : 74
},
{
- "y" : 72,
"drilldown" : "022",
- "name" : "#022"
+ "name" : "#022",
+ "y" : 72
},
{
+ "name" : "#023",
"drilldown" : "023",
- "y" : 101,
- "name" : "#023"
+ "y" : 101
},
{
- "name" : "#024",
"y" : 77,
- "drilldown" : "024"
+ "drilldown" : "024",
+ "name" : "#024"
},
{
+ "y" : 62,
"name" : "#025",
- "drilldown" : "025",
- "y" : 62
+ "drilldown" : "025"
},
{
- "y" : 76,
"drilldown" : "026",
- "name" : "#026"
+ "name" : "#026",
+ "y" : 76
},
{
- "y" : 64,
"drilldown" : "027",
- "name" : "#027"
+ "name" : "#027",
+ "y" : 64
},
{
+ "name" : "#028",
"drilldown" : "028",
- "y" : 82,
- "name" : "#028"
+ "y" : 82
},
{
- "name" : "#029",
"drilldown" : "029",
+ "name" : "#029",
"y" : 83
},
{
+ "name" : "#030",
"drilldown" : "030",
- "y" : 121,
- "name" : "#030"
+ "y" : 121
},
{
"y" : 93,
- "drilldown" : "031",
- "name" : "#031"
+ "name" : "#031",
+ "drilldown" : "031"
},
{
- "y" : 98,
"drilldown" : "032",
- "name" : "#032"
+ "name" : "#032",
+ "y" : 98
},
{
"y" : 114,
@@ -184,64 +179,64 @@
"name" : "#033"
},
{
- "y" : 70,
"drilldown" : "034",
- "name" : "#034"
+ "name" : "#034",
+ "y" : 70
},
{
+ "y" : 68,
"name" : "#035",
- "drilldown" : "035",
- "y" : 68
+ "drilldown" : "035"
},
{
- "name" : "#036",
"drilldown" : "036",
+ "name" : "#036",
"y" : 70
},
{
- "drilldown" : "037",
"y" : 70,
- "name" : "#037"
+ "name" : "#037",
+ "drilldown" : "037"
},
{
- "name" : "#038",
"y" : 74,
- "drilldown" : "038"
+ "drilldown" : "038",
+ "name" : "#038"
},
{
- "y" : 68,
"drilldown" : "039",
- "name" : "#039"
+ "name" : "#039",
+ "y" : 68
},
{
- "name" : "#040",
"y" : 77,
- "drilldown" : "040"
+ "drilldown" : "040",
+ "name" : "#040"
},
{
+ "drilldown" : "041",
"name" : "#041",
- "y" : 80,
- "drilldown" : "041"
+ "y" : 80
},
{
- "name" : "#042",
"y" : 98,
- "drilldown" : "042"
+ "drilldown" : "042",
+ "name" : "#042"
},
{
- "drilldown" : "043",
"y" : 72,
+ "drilldown" : "043",
"name" : "#043"
},
{
+ "drilldown" : "044",
"name" : "#044",
- "y" : 90,
- "drilldown" : "044"
+ "y" : 90
},
{
- "drilldown" : "045",
"y" : 102,
- "name" : "#045"
+ "name" : "#045",
+ "drilldown" : "045"
},
{
"y" : 93,
@@ -254,29 +249,29 @@
"name" : "#047"
},
{
- "name" : "#048",
"y" : 112,
- "drilldown" : "048"
+ "drilldown" : "048",
+ "name" : "#048"
},
{
- "name" : "#049",
+ "y" : 93,
"drilldown" : "049",
- "y" : 93
+ "name" : "#049"
},
{
- "y" : 104,
+ "name" : "#050",
"drilldown" : "050",
- "name" : "#050"
+ "y" : 104
},
{
- "name" : "#051",
"y" : 95,
+ "name" : "#051",
"drilldown" : "051"
},
{
- "name" : "#052",
+ "y" : 93,
"drilldown" : "052",
- "y" : 93
+ "name" : "#052"
},
{
"y" : 105,
@@ -284,19 +279,19 @@
"name" : "#053"
},
{
- "y" : 107,
"drilldown" : "054",
- "name" : "#054"
+ "name" : "#054",
+ "y" : 107
},
{
- "drilldown" : "055",
"y" : 92,
- "name" : "#055"
+ "name" : "#055",
+ "drilldown" : "055"
},
{
+ "name" : "#056",
"drilldown" : "056",
- "y" : 104,
- "name" : "#056"
+ "y" : 104
},
{
"name" : "#057",
@@ -310,18 +305,18 @@
},
{
"name" : "#059",
- "y" : 93,
- "drilldown" : "059"
+ "drilldown" : "059",
+ "y" : 93
},
{
- "drilldown" : "060",
"y" : 89,
- "name" : "#060"
+ "name" : "#060",
+ "drilldown" : "060"
},
{
+ "y" : 85,
"name" : "#061",
- "drilldown" : "061",
- "y" : 85
+ "drilldown" : "061"
},
{
"y" : 62,
@@ -329,9 +324,9 @@
"name" : "#062"
},
{
- "name" : "#063",
+ "y" : 93,
"drilldown" : "063",
- "y" : 93
+ "name" : "#063"
},
{
"name" : "#064",
@@ -339,19 +334,19 @@
"y" : 84
},
{
- "y" : 77,
"drilldown" : "065",
- "name" : "#065"
+ "name" : "#065",
+ "y" : 77
},
{
- "name" : "#066",
"y" : 88,
- "drilldown" : "066"
+ "drilldown" : "066",
+ "name" : "#066"
},
{
+ "y" : 94,