aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2023-05-11 17:07:27 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2023-05-11 17:07:27 +0100
commitb795c5a7acf52217394c0d6cc216199e535296d7 (patch)
tree7acc6f99d5f517d1055a75b876a8f3a37e2b33bc
parent722527ed475e56e5717e60f8d3b52d9bbcef492c (diff)
downloadperlweeklychallenge-club-b795c5a7acf52217394c0d6cc216199e535296d7.tar.gz
perlweeklychallenge-club-b795c5a7acf52217394c0d6cc216199e535296d7.tar.bz2
perlweeklychallenge-club-b795c5a7acf52217394c0d6cc216199e535296d7.zip
- Added solutions by Laurent Rosenfeld.
-rw-r--r--challenge-216/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-216/laurent-rosenfeld/perl/ch-1.pl27
-rw-r--r--challenge-216/laurent-rosenfeld/raku/ch-1.raku16
-rw-r--r--stats/pwc-current.json125
-rw-r--r--stats/pwc-language-breakdown-summary.json74
-rw-r--r--stats/pwc-language-breakdown.json2814
-rw-r--r--stats/pwc-leaders.json738
-rw-r--r--stats/pwc-summary-1-30.json38
-rw-r--r--stats/pwc-summary-121-150.json48
-rw-r--r--stats/pwc-summary-151-180.json112
-rw-r--r--stats/pwc-summary-181-210.json44
-rw-r--r--stats/pwc-summary-211-240.json114
-rw-r--r--stats/pwc-summary-241-270.json108
-rw-r--r--stats/pwc-summary-271-300.json36
-rw-r--r--stats/pwc-summary-31-60.json34
-rw-r--r--stats/pwc-summary-61-90.json42
-rw-r--r--stats/pwc-summary-91-120.json40
-rw-r--r--stats/pwc-summary.json48
18 files changed, 2263 insertions, 2196 deletions
diff --git a/challenge-216/laurent-rosenfeld/blog.txt b/challenge-216/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..71658bfcda
--- /dev/null
+++ b/challenge-216/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+https://blogs.perl.org/users/laurent_r/2023/05/perl-weekly-challenge-216-registration-number.html
diff --git a/challenge-216/laurent-rosenfeld/perl/ch-1.pl b/challenge-216/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..0931df12d6
--- /dev/null
+++ b/challenge-216/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,27 @@
+use strict;
+use warnings;
+use feature 'say';
+
+sub included {
+ my @words = @{$_[0]};
+ my $reg = lc $_[1];
+ # say @words;
+ my @letters = grep { /[a-z]/ } split //, $reg;
+ # say @letters;
+ my @result;
+ for my $wd (@words) {
+ my %wd_lets = map { $_ => 1 } split //, $wd;
+ my @missing = grep { not exists $wd_lets{$_} } @letters;
+ push @result, $wd if scalar @missing == 0;
+ }
+return @result;
+}
+my @tests = (
+ {words => ['abc', 'abcd', 'bcd'], reg => 'AB1 2CD'},
+ {words => ['job', 'james', 'bjorg'], reg => '007 JB'},
+ {words => ['crack', 'road', 'rac'], reg => 'C7 RA2'}
+ );
+for my $test (@tests) {
+ printf "%-30s", "@{$test->{words}} - $test->{reg} => ";
+ say join " ", included $test->{words}, $test->{reg};
+}
diff --git a/challenge-216/laurent-rosenfeld/raku/ch-1.raku b/challenge-216/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..d02768bdfd
--- /dev/null
+++ b/challenge-216/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,16 @@
+sub included (@words, $reg) {
+ my $letters = $reg.lc.comb.grep({ /<[a..z]>/ }).Set;
+ my @result;
+ for @words -> $wd {
+ push @result, $wd if $letters ⊆ $wd.lc.comb.Set;
+ }
+ return @result;
+}
+my @tests =
+ {words => ('abc', 'abcd', 'bcd'), reg => 'AB1 2CD'},
+ {words => ('job', 'james', 'bjorg'), reg => '007 JB'},
+ {words => ('crack', 'road', 'rac'), reg => 'C7 RA2'};
+for @tests -> %test {
+ printf "%-30s", "%test<words> - %test<reg> => ";
+ say included %test<words>, %test<reg>;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 6b9ec7f631..2f445c15f6 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,6 +1,13 @@
{
- "chart" : {
- "type" : "column"
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "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/>"
},
"series" : [
{
@@ -13,19 +20,24 @@
"y" : 2
},
{
- "name" : "James Smith",
+ "drilldown" : "James Smith",
"y" : 3,
- "drilldown" : "James Smith"
+ "name" : "James Smith"
},
{
+ "drilldown" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
+ "y" : 3
+ },
+ {
+ "drilldown" : "Leo Manfredi",
"y" : 1,
- "name" : "Leo Manfredi",
- "drilldown" : "Leo Manfredi"
+ "name" : "Leo Manfredi"
},
{
+ "drilldown" : "Lubos Kolouch",
"name" : "Lubos Kolouch",
- "y" : 2,
- "drilldown" : "Lubos Kolouch"
+ "y" : 2
},
{
"name" : "Luca Ferrari",
@@ -33,61 +45,45 @@
"drilldown" : "Luca Ferrari"
},
{
- "drilldown" : "Mark Anderson",
"name" : "Mark Anderson",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "Mark Anderson"
},
{
- "drilldown" : "Niels van Dijke",
"name" : "Niels van Dijke",
- "y" : 1
+ "y" : 1,
+ "drilldown" : "Niels van Dijke"
},
{
- "drilldown" : "Robert DiCicco",
+ "name" : "Robert DiCicco",
"y" : 2,
- "name" : "Robert DiCicco"
+ "drilldown" : "Robert DiCicco"
},
{
+ "drilldown" : "W. Luis Mochan",
"y" : 3,
- "name" : "W. Luis Mochan",
- "drilldown" : "W. Luis Mochan"
+ "name" : "W. Luis Mochan"
}
]
}
],
- "title" : {
- "text" : "The Weekly Challenge - 216"
- },
"legend" : {
"enabled" : 0
},
- "xAxis" : {
- "type" : "category"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "tooltip" : {
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "followPointer" : 1,
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
- },
- "subtitle" : {
- "text" : "[Champions: 9] Last updated at 2023-05-10 10:48:09 GMT"
+ "title" : {
+ "text" : "The Weekly Challenge - 216"
},
"drilldown" : {
"series" : [
{
"name" : "Feng Chang",
- "id" : "Feng Chang",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Feng Chang"
},
{
"name" : "James Smith",
@@ -104,6 +100,24 @@
]
},
{
+ "name" : "Laurent Rosenfeld",
+ "id" : "Laurent Rosenfeld",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ]
+ },
+ {
"data" : [
[
"Perl",
@@ -124,8 +138,6 @@
"name" : "Lubos Kolouch"
},
{
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -135,29 +147,33 @@
"Blog",
6
]
- ]
+ ],
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari"
},
{
"name" : "Mark Anderson",
+ "id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Mark Anderson"
+ ]
},
{
- "id" : "Niels van Dijke",
+ "name" : "Niels van Dijke",
"data" : [
[
"Perl",
1
]
],
- "name" : "Niels van Dijke"
+ "id" : "Niels van Dijke"
},
{
+ "name" : "Robert DiCicco",
+ "id" : "Robert DiCicco",
"data" : [
[
"Perl",
@@ -167,13 +183,9 @@
"Raku",
1
]
- ],
- "id" : "Robert DiCicco",
- "name" : "Robert DiCicco"
+ ]
},
{
- "name" : "W. Luis Mochan",
- "id" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -183,16 +195,27 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "W. Luis Mochan",
+ "name" : "W. Luis Mochan"
}
]
},
+ "subtitle" : {
+ "text" : "[Champions: 10] Last updated at 2023-05-11 08:28:44 GMT"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
"plotOptions" : {
"series" : {
"borderWidth" : 0,
"dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
+ "format" : "{point.y}",
+ "enabled" : 1
}
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 80152053f9..60cbb18276 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- }
- },
- "legend" : {
- "enabled" : "false"
- },
- "subtitle" : {
- "text" : "Last updated at 2023-05-10 10:48:09 GMT"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
"yAxis" : {
"title" : {
"text" : null
},
"min" : 0
},
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
"series" : [
{
+ "dataLabels" : {
+ "format" : "{point.y:.0f}",
+ "y" : 10,
+ "align" : "right",
+ "rotation" : -90,
+ "color" : "#FFFFFF",
+ "enabled" : "true",
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ },
+ "name" : "Contributions",
"data" : [
[
"Blog",
- 3557
+ 3558
],
[
"Perl",
- 10985
+ 10986
],
[
"Raku",
- 6371
+ 6372
]
- ],
- "dataLabels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- },
- "format" : "{point.y:.0f}",
- "y" : 10,
- "enabled" : "true",
- "color" : "#FFFFFF",
- "align" : "right",
- "rotation" : -90
- },
- "name" : "Contributions"
+ ]
}
],
- "chart" : {
- "type" : "column"
+ "legend" : {
+ "enabled" : "false"
},
"title" : {
"text" : "The Weekly Challenge Contributions [2019 - 2023]"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2023-05-11 08:28:44 GMT"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ },
+ "type" : "category"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 96435a005a..6fe651d15b 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,1116 +1,23 @@
{
- "series" : [
- {
- "data" : [
- {
- "drilldown" : "001",
- "name" : "#001",
- "y" : 163
- },
- {
- "name" : "#002",
- "y" : 129,
- "drilldown" : "002"
- },
- {
- "y" : 87,
- "name" : "#003",
- "drilldown" : "003"
- },
- {
- "name" : "#004",
- "y" : 103,
- "drilldown" : "004"
- },
- {
- "name" : "#005",
- "y" : 80,
- "drilldown" : "005"
- },
- {
- "y" : 61,
- "name" : "#006",
- "drilldown" : "006"
- },
- {
- "y" : 69,
- "name" : "#007",
- "drilldown" : "007"
- },
- {
- "name" : "#008",
- "y" : 82,
- "drilldown" : "008"
- },
- {
- "y" : 80,
- "name" : "#009",
- "drilldown" : "009"
- },
- {
- "y" : 69,
- "name" : "#010",
- "drilldown" : "010"
- },
- {
- "name" : "#011",
- "y" : 89,
- "drilldown" : "011"
- },
- {
- "drilldown" : "012",
- "y" : 92,
- "name" : "#012"
- },
- {
- "y" : 87,
- "name" : "#013",
- "drilldown" : "013"
- },
- {
- "y" : 102,
- "name" : "#014",
- "drilldown" : "014"
- },
- {
- "drilldown" : "015",
- "name" : "#015",
- "y" : 101
- },
- {
- "name" : "#016",
- "y" : 72,
- "drilldown" : "016"
- },
- {
- "drilldown" : "017",
- "name" : "#017",
- "y" : 86
- },
- {
- "drilldown" : "018",
- "name" : "#018",
- "y" : 83
- },
- {
- "y" : 105,
- "name" : "#019",
- "drilldown" : "019"
- },
- {
- "drilldown" : "020",
- "y" : 103,
- "name" : "#020"
- },
- {
- "name" : "#021",
- "y" : 74,
- "drilldown" : "021"
- },
- {
- "drilldown" : "022",
- "y" : 72,
- "name" : "#022"
- },
- {
- "name" : "#023",
- "y" : 101,
- "drilldown" : "023"
- },
- {
- "name" : "#024",
- "y" : 77,
- "drilldown" : "024"
- },
- {
- "drilldown" : "025",
- "name" : "#025",
- "y" : 62
- },
- {
- "name" : "#026",
- "y" : 76,
- "drilldown" : "026"
- },
- {
- "drilldown" : "027",
- "name" : "#027",
- "y" : 64
- },
- {
- "name" : "#028",
- "y" : 82,
- "drilldown" : "028"
- },
- {
- "y" : 83,
- "name" : "#029",
- "drilldown" : "029"
- },
- {
- "name" : "#030",
- "y" : 121,
- "drilldown" : "030"
- },
- {
- "drilldown" : "031",
- "name" : "#031",
- "y" : 93
- },
- {
- "name" : "#032",
- "y" : 98,
- "drilldown" : "032"
- },
- {
- "y" : 114,
- "name" : "#033",
- "drilldown" : "033"
- },
- {
- "name" : "#034",
- "y" : 70,
- "drilldown" : "034"
- },
- {
- "drilldown" : "035",
- "name" : "#035",
- "y" : 68
- },
- {
- "drilldown" : "036",
- "name" : "#036",
- "y" : 70
- },
- {
- "name" : "#037",
- "y" : 70,
- "drilldown" : "037"
- },
- {
- "drilldown" : "038",
- "name" : "#038",
- "y" : 74
- },
- {
- "name" : "#039",
- "y" : 68,
- "drilldown" : "039"
- },
- {
- "drilldown" : "040",
- "name" : "#040",
- "y" : 77
- },
- {
- "drilldown" : "041",
- "name" : "#041",
- "y" : 80
- },
- {
- "y" : 98,
- "name" : "#042",
- "drilldown" : "042"
- },
- {
- "drilldown" : "043",
- "y" : 72,
- "name" : "#043"
- },
- {
- "name" : "#044",
- "y" : 90,
- "drilldown" : "044"
- },
- {
- "y" : 102,
- "name" : "#045",
- "drilldown" : "045"
- },
- {
- "name" : "#046",
- "y" : 93,
- "drilldown" : "046"
- },
- {
- "drilldown" : "047",
- "name" : "#047",
- "y" : 88
- },
- {
- "drilldown" : "048",
- "name" : "#048",
- "y" : 112
- },
- {
- "name" : "#049",
- "y" : 93,
- "drilldown" : "049"
- },
- {
- "drilldown" : "050",
- "y" : 104,
- "name" : "#050"
- },
- {
- "name" : "#051",
- "y" : 95,
- "drilldown" : "051"
- },
- {
- "drilldown" : "052",
- "y" : 93,
- "name" : "#052"
- },
- {
- "name" : "#053",
- "y" : 105,
- "drilldown" : "053"
- },
- {
- "name" : "#054",
- "y" : 107,
- "drilldown" : "054"
- },
- {
- "drilldown" : "055",
- "y" : 92,
- "name" : "#055"
- },
- {
- "name" : "#056",
- "y" : 99,
- "drilldown" : "056"
- },
- {
- "drilldown" : "057",
- "name" : "#057",
- "y" : 86
- },
- {
- "name" : "#058",
- "y" : 71,
- "drilldown" : "058"
- },
- {
- "drilldown" : "059",
- "y" : 93,
- "name" : "#059"
- },
- {
- "y" : 89,
- "name" : "#060",
- "drilldown" : "060"
- },
- {
- "y" : 85,
- "name" : "#061",
- "drilldown" : "061"
- },
- {
- "name" : "#062",
- "y" : 62,
- "drilldown" : "062"
- },
- {
- "y" : 93,
- "name" : "#063",
- "drilldown" : "063"
- },
- {
- "drilldown" : "064",
- "y" : 84,
- "name" : "#064"
- },
- {
- "drilldown" : "065",
- "name" : "#065",
- "y" : 77
- },
- {
- "drilldown" : "066",
- "y" : 88,
- "name" : "#066"
- },
- {
- "name" : "#067",
- "y" : 94,
- "drilldown" : "067"
- },
- {
- "name" : "#068",
- "y" : 77,
- "drilldown" : "068"
- },
- {
- "drilldown" : "069",
- "y" : 85,
- "name" : "#069"
- },
- {
- "y" : 98,
- "name" : "#070",
- "drilldown" : "070"
- },
- {
- "drilldown" : "071",
- "name" : "#071",
- "y" : 80
- },
- {
- "drilldown" : "072",
- "y" : 114,
- "name" : "#072"
- },
- {
- "name" : "#073",
- "y" : 112,
- "drilldown" : "073"
- },
- {
- "drilldown" : "074",
- "name" : "#074",
- "y" : 117
- },
- {
- "drilldown" : "075",
- "name" : "#075",
- "y" : 117
- },
- {
- "drilldown" : "076",
- "name" : "#076",
- "y" : 101
- },
- {
- "drilldown" : "077",
- "y" : 100,
- "name" : "#077"
- },
- {
- "drilldown" : "078",
- "name" : "#078",
- "y" : 127
- },
- {
- "name" : "#079",
- "y" : 122,
- "drilldown" : "079"
- },
- {
- "y" : 127,
- "name" : "#080",
- "drilldown" : "080"
- },
- {
- "y" : 114,
- "name" : "#081",
- "drilldown" : "081"
- },
- {
- "y" : 114,
- "name" : "#082",
- "drilldown" : "082"
- },
- {
- "name" : "#083",
- "y" : 127,
- "drilldown" : "083"
- },
- {
- "y" : 119,
- "name" : "#084",
- "drilldown" : "084"
- },
- {
- "name" : "#085",
- "y" : 114,
- "drilldown" : "085"
- },
- {
- "y" : 104,
- "name" : "#086",
- "drilldown" : "086"
- },
- {
- "drilldown" : "087",
- "y" : 101,
- "name" : "#087"
- },
- {
- "y" : 121,
- "name" : "#088",
- "drilldown" : "088"
- },
- {
- "drilldown" : "089",
- "y" : 113,
- "name" : "#089"
- },
- {
- "drilldown" : "090",
- "name" : "#090",
- "y" : 113
- },
- {
- "drilldown" : "091",
- "name" : "#091",
- "y" : 108
- },
- {
- "drilldown" : "092",
- "y" : 98,
- "name" : "#092"
- },
- {
- "y" : 87,
- "name" : "#093",
- "drilldown" : "093"
- },
- {
- "drilldown" : "094",
- "name" : "#094",
- "y" : 87
- },
- {
- "y" : 108,
- "name" : "#095",
- "drilldown" : "095"
- },
- {
- "y" : 108,
- "name" : "#096",
- "drilldown" : "096"
- },
- {
- "name" : "#097",
- "y" : 111,
- "drilldown" : "097"
- },
- {
- "name" : "#098",
- "y" : 108,
- "drilldown" : "098"
- },
- {
- "y" : 97,
- "name" : "#099",
- "drilldown" : "099"
- },
- {
- "drilldown" : "100",
- "name" : "#100",
- "y" : 120
- },
- {
- "name" : "#101",
- "y" : 83,
- "drilldown" : "101"
- },
- {
- "drilldown" : "102",
- "y" : 90,
- "name" : "#102"
- },
- {
- "name" : "#103",
- "y" : 79,
- "drilldown" : "103"
- },
- {
- "y" : 85,
- "name" : "#104",
- "drilldown" : "104"
- },
- {
- "y" : 75,
- "name" : "#105",
- "drilldown" : "105"
- },
- {
- "drilldown" : "106",
- "name" : "#106",
- "y" : 97
- },
- {
- "y" : 90,
- "name" : "#107",
- "drilldown" : "107"
- },
- {
- "name" : "#108",
- "y" : 94,
- "drilldown" : "108"
- },
- {
- "y" : 107,
- "name" : "#109",
- "drilldown" : "109"
- },
- {
- "name" : "#110",
- "y" : 108,
- "drilldown" : "110"
- },
- {
- "drilldown" : "111",
- "y" : 91,
- "name" : "#111"
- },
- {
- "drilldown" : "112",
- "name" : "#112",
- "y" : 92
- },
- {
- "y" : 92,
- "name" : "#113",
- "drilldown" : "113"
- },
- {
- "drilldown" : "114",
- "name" : "#114",
- "y" : 108
- },
- {
- "y" : 96,
- "name" : "#115",
- "drilldown" : "115"
- },
- {
- "name" : "#116",
- "y" : 95,
- "drilldown" : "116"
- },
- {
- "y" : 97,
- "name" : "#117",
- "drilldown" : "117"
- },
- {
- "y" : 83,
- "name" : "#118",
- "drilldown" : "118"
- },
- {
- "drilldown" : "119",
- "y" : 125,
- "name" : "#119"
- },
- {
- "drilldown" : "120",
- "name" : "#120",
- "y" : 116
- },
- {
- "y" : 92,
- "name" : "#121",
- "drilldown" : "121"
- },
- {
- "name" : "#122",
- "y" : 110,
- "drilldown" : "122"
- },
- {
- "drilldown" : "123",
- "name" : "#123",
- "y" : 105
- },
- {
- "y" : 85,
- "name" : "#124",
- "drilldown" : "124"
- },
- {
- "name" : "#125",
- "y" : 63,
- "drilldown" : "125"
- },
-