aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-282/wanderdoc/perl/ch-1.pl57
-rwxr-xr-xchallenge-282/wanderdoc/perl/ch-2.pl46
-rw-r--r--stats/pwc-current.json407
-rw-r--r--stats/pwc-language-breakdown-2019.json330
-rw-r--r--stats/pwc-language-breakdown-2020.json784
-rw-r--r--stats/pwc-language-breakdown-2021.json430
-rw-r--r--stats/pwc-language-breakdown-2022.json768
-rw-r--r--stats/pwc-language-breakdown-2023.json750
-rw-r--r--stats/pwc-language-breakdown-2024.json510
-rw-r--r--stats/pwc-language-breakdown-summary.json84
-rw-r--r--stats/pwc-leaders.json790
-rw-r--r--stats/pwc-summary-1-30.json44
-rw-r--r--stats/pwc-summary-121-150.json48
-rw-r--r--stats/pwc-summary-151-180.json46
-rw-r--r--stats/pwc-summary-181-210.json28
-rw-r--r--stats/pwc-summary-211-240.json98
-rw-r--r--stats/pwc-summary-241-270.json102
-rw-r--r--stats/pwc-summary-271-300.json112
-rw-r--r--stats/pwc-summary-301-330.json36
-rw-r--r--stats/pwc-summary-31-60.json122
-rw-r--r--stats/pwc-summary-61-90.json44
-rw-r--r--stats/pwc-summary-91-120.json56
-rw-r--r--stats/pwc-summary.json672
-rw-r--r--stats/pwc-yearly-language-summary.json138
24 files changed, 3310 insertions, 3192 deletions
diff --git a/challenge-282/wanderdoc/perl/ch-1.pl b/challenge-282/wanderdoc/perl/ch-1.pl
new file mode 100755
index 0000000000..a78ccac91b
--- /dev/null
+++ b/challenge-282/wanderdoc/perl/ch-1.pl
@@ -0,0 +1,57 @@
+#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given a positive integer, $int, having 3 or more digits.
+
+Write a script to return the good integer in the given integer or -1 if none found.
+
+ A good integer is exactly three consecutive matching digits.
+
+Example 1
+
+Input: $int = 12344456
+Output: "444"
+
+Example 2
+
+Input: $int = 1233334
+Output: -1
+
+Example 3
+
+Input: $int = 10020003
+Output: "000"
+
+
+=cut
+
+use Test2::V0;
+
+is(good_integer(12344456), '444', 'Example 1');
+is(good_integer(1233334), -1, 'Example 2');
+is(good_integer(10020003), '000', 'Example 3');
+is(good_integer(11122345), '111', 'Example 4');
+is(good_integer(1112211122), -1, 'Example 5');
+is(good_integer(1122333), '333', 'Example 6');
+done_testing();
+
+
+
+sub good_integer
+{
+ my $int = $_[0];
+ my @matches;
+
+ while ( $int =~ /((?<digit>\d)\k<digit>{2})/g )
+ {
+ push @matches, $1;
+ pos($int) -= 2;
+ }
+ if ( scalar @matches == 1 )
+ {
+ return $matches[0];
+ }
+ return -1;
+ } \ No newline at end of file
diff --git a/challenge-282/wanderdoc/perl/ch-2.pl b/challenge-282/wanderdoc/perl/ch-2.pl
new file mode 100755
index 0000000000..ec295e0500
--- /dev/null
+++ b/challenge-282/wanderdoc/perl/ch-2.pl
@@ -0,0 +1,46 @@
+#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given an alphabetic strings, $str, as typed by user.
+
+Write a script to find the number of times user had to change the key to type the given string. Changing key is defined as using a key different from the last used key. The shift and caps lock keys won't be counted.
+Example 1
+
+Input: $str = 'pPeERrLl'
+Ouput: 3
+
+p -> P : 0 key change
+P -> e : 1 key change
+e -> E : 0 key change
+E -> R : 1 key change
+R -> r : 0 key change
+r -> L : 1 key change
+L -> l : 0 key change
+
+Example 2
+
+Input: $str = 'rRr'
+Ouput: 0
+
+Example 3
+
+Input: $str = 'GoO'
+Ouput: 1
+=cut
+
+use Test2::V0;
+
+is(changing_key('pPeERrLl'), 3, 'Example 1');
+is(changing_key('rRr'), 0, 'Example 2');
+is(changing_key('GoO'), 1, 'Example 3');
+done_testing();
+
+sub changing_key
+{
+ my $str = $_[0];
+ my %letters;
+ $letters{$_} = undef for map lc, split(//, $str);
+ return scalar (keys %letters) - 1;
+} \ No newline at end of file
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 200649b096..42a534d822 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,15 +1,159 @@
{
"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,
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
+ "followPointer" : 1
},
- "legend" : {
- "enabled" : 0
+ "xAxis" : {
+ "type" : "category"
},
+ "series" : [
+ {
+ "data" : [
+ {
+ "drilldown" : "Adam Russell",
+ "y" : 3,
+ "name" : "Adam Russell"
+ },
+ {
+ "drilldown" : "Ali Moradi",
+ "y" : 3,
+ "name" : "Ali Moradi"
+ },
+ {
+ "y" : 4,
+ "name" : "Athanasius",
+ "drilldown" : "Athanasius"
+ },
+ {
+ "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby",
+ "y" : 2
+ },
+ {
+ "name" : "David Ferrone",
+ "y" : 2,
+ "drilldown" : "David Ferrone"
+ },
+ {
+ "y" : 2,
+ "name" : "E. Choroba",
+ "drilldown" : "E. Choroba"
+ },
+ {
+ "name" : "Feng Chang",
+ "y" : 2,
+ "drilldown" : "Feng Chang"
+ },
+ {
+ "drilldown" : "Jaldhar H. Vyas",
+ "y" : 5,
+ "name" : "Jaldhar H. Vyas"
+ },
+ {
+ "y" : 2,
+ "name" : "Jan Krnavek",
+ "drilldown" : "Jan Krnavek"
+ },
+ {
+ "drilldown" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey",
+ "y" : 3
+ },
+ {
+ "name" : "Kjetil Skotheim",
+ "y" : 2,
+ "drilldown" : "Kjetil Skotheim"
+ },
+ {
+ "drilldown" : "Laurent Rosenfeld",
+ "y" : 6,
+ "name" : "Laurent Rosenfeld"
+ },
+ {
+ "y" : 2,
+ "name" : "Mariano Ortega",
+ "drilldown" : "Mariano Ortega"
+ },
+ {
+ "drilldown" : "Mark Anderson",
+ "y" : 2,
+ "name" : "Mark Anderson"
+ },
+ {
+ "drilldown" : "Niels van Dijke",
+ "y" : 2,
+ "name" : "Niels van Dijke"
+ },
+ {
+ "name" : "Packy Anderson",
+ "y" : 5,
+ "drilldown" : "Packy Anderson"
+ },
+ {
+ "drilldown" : "Paulo Custodio",
+ "name" : "Paulo Custodio",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Peter Campbell Smith",
+ "name" : "Peter Campbell Smith",
+ "y" : 3
+ },
+ {
+ "drilldown" : "Peter Meszaros",
+ "name" : "Peter Meszaros",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Reinier Maliepaard",
+ "name" : "Reinier Maliepaard",
+ "y" : 3
+ },
+ {
+ "y" : 3,
+ "name" : "Robbie Hatley",
+ "drilldown" : "Robbie Hatley"
+ },
+ {
+ "drilldown" : "Robert Ransbottom",
+ "y" : 2,
+ "name" : "Robert Ransbottom"
+ },
+ {
+ "y" : 4,
+ "name" : "Roger Bell_West",
+ "drilldown" : "Roger Bell_West"
+ },
+ {
+ "name" : "Thomas Kohler",
+ "y" : 4,
+ "drilldown" : "Thomas Kohler"
+ },
+ {
+ "name" : "Ulrich Rieke",
+ "y" : 4,
+ "drilldown" : "Ulrich Rieke"
+ },
+ {
+ "drilldown" : "W. Luis Mochan",
+ "name" : "W. Luis Mochan",
+ "y" : 3
+ },
+ {
+ "y" : 2,
+ "name" : "Wanderdoc",
+ "drilldown" : "Wanderdoc"
+ }
+ ],
+ "colorByPoint" : 1,
+ "name" : "The Weekly Challenge - 282"
+ }
+ ],
"drilldown" : {
"series" : [
{
+ "id" : "Adam Russell",
"data" : [
[
"Perl",
@@ -20,10 +164,10 @@
1
]
],
- "name" : "Adam Russell",
- "id" : "Adam Russell"
+ "name" : "Adam Russell"
},
{
+ "name" : "Ali Moradi",
"data" : [
[
"Perl",
@@ -34,11 +178,9 @@
1
]
],
- "name" : "Ali Moradi",
"id" : "Ali Moradi"
},
{
- "id" : "Athanasius",
"name" : "Athanasius",
"data" : [
[
@@ -49,37 +191,38 @@
"Raku",
2
]
- ]
+ ],
+ "id" : "Athanasius"
},
{
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Dave Jacoby",
- "name" : "Dave Jacoby"
+ ]
},
{
- "id" : "David Ferrone",
- "name" : "David Ferrone",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "David Ferrone",
+ "name" : "David Ferrone"
},
{
- "name" : "E. Choroba",
"id" : "E. Choroba",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "E. Choroba"
},
{
"data" : [
@@ -92,8 +235,6 @@
"name" : "Feng Chang"
},
{
- "name" : "Jaldhar H. Vyas",
- "id" : "Jaldhar H. Vyas",
"data" : [
[
"Perl",
@@ -107,7 +248,9 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Jaldhar H. Vyas",
+ "name" : "Jaldhar H. Vyas"
},
{
"name" : "Jan Krnavek",
@@ -121,7 +264,6 @@
},
{
"id" : "Jorg Sommrey",
- "name" : "Jorg Sommrey",
"data" : [
[
"Perl",
@@ -131,7 +273,8 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Jorg Sommrey"
},
{
"name" : "Kjetil Skotheim",
@@ -144,6 +287,7 @@
]
},
{
+ "id" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -158,42 +302,40 @@
2
]
],
- "name" : "Laurent Rosenfeld",
- "id" : "Laurent Rosenfeld"
+ "name" : "Laurent Rosenfeld"
},
{
+ "id" : "Mariano Ortega",
"data" : [
[
"Perl",
2
]
],
- "name" : "Mariano Ortega",
- "id" : "Mariano Ortega"
+ "name" : "Mariano Ortega"
},
{
- "id" : "Mark Anderson",
- "name" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
- "name" : "Niels van Dijke",
- "id" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Niels van Dijke",
+ "name" : "Niels van Dijke"
},
{
"name" : "Packy Anderson",
- "id" : "Packy Anderson",
"data" : [
[
"Perl",
@@ -207,11 +349,12 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Packy Anderson"
},
{
- "id" : "Paulo Custodio",
"name" : "Paulo Custodio",
+ "id" : "Paulo Custodio",
"data" : [
[
"Perl",
@@ -221,7 +364,6 @@
},
{
"name" : "Peter Campbell Smith",
- "id" : "Peter Campbell Smith",
"data" : [
[
"Perl",
@@ -231,17 +373,18 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Peter Campbell Smith"
},
{
- "name" : "Peter Meszaros",
"id" : "Peter Meszaros",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Peter Meszaros"
},
{
"name" : "Reinier Maliepaard",
@@ -282,6 +425,8 @@
]
},
{
+ "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -291,12 +436,9 @@
"Raku",
2
]
- ],
- "id" : "Roger Bell_West",
- "name" : "Roger Bell_West"
+ ]
},
{
- "id" : "Thomas Kohler",
"name" : "Thomas Kohler",
"data" : [
[
@@ -307,11 +449,10 @@
"Blog",
2
]
- ]
+ ],
+ "id" : "Thomas Kohler"
},
{
- "name" : "Ulrich Rieke",
- "id" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -321,7 +462,9 @@
"Raku",
2
]
- ]
+ ],
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke"
},
{
"data" : [
@@ -336,9 +479,25 @@
],
"id" : "W. Luis Mochan",
"name" : "W. Luis Mochan"
+ },
+ {
+ "name" : "Wanderdoc",
+ "id" : "Wanderdoc",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ]
}
]
},
+ "subtitle" : {
+ "text" : "[Champions: 27] Last updated at 2024-08-16 15:58:13 GMT"
+ },
+ "title" : {
+ "text" : "The Weekly Challenge - 282"
+ },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
@@ -349,158 +508,14 @@
},
"plotOptions" : {
"series" : {
+ "borderWidth" : 0,
"dataLabels" : {
"format" : "{point.y}",
"enabled" : 1
- },
- "borderWidth" : 0
+ }
}
},
- "xAxis" : {
- "type" : "category"
- },
- "title" : {
- "text" : "The Weekly Challenge - 282"
- },
- "subtitle" : {
- "text" : "[Champions: 26] Last updated at 2024-08-16 15:56:10 GMT"
- },
- "series" : [
- {
- "data" : [
- {
- "y" : 3,
- "drilldown" : "Adam Russell",
- "name" : "Adam Russell"
- },
- {
- "y" : 3,
- "name" : "Ali Moradi",
- "drilldown" : "Ali Moradi"
- },
- {
- "y" : 4,
- "drilldown" : "Athanasius",
- "name" : "Athanasius"
- },
- {
- "y" : 2,
- "drilldown" : "Dave Jacoby",
- "name" : "Dave Jacoby"
- },
- {
- "drilldown" : "David Ferrone",
- "name" : "David Ferrone",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "E. Choroba",
- "drilldown" : "E. Choroba"
- },
- {
- "drilldown" : "Feng Chang",
- "name" : "Feng Chang",
- "y" : 2
- },
- {
- "drilldown" : "Jaldhar H. Vyas",
- "name" : "Jaldhar H. Vyas",
- "y" : 5
- },
- {
- "y" : 2,
- "drilldown" : "Jan Krnavek",
- "name" : "Jan Krnavek"
- },
- {
- "drilldown" : "Jorg Sommrey",
- "name" : "Jorg Sommrey",
- "y" : 3
- },
- {
- "drilldown" : "Kjetil Skotheim",
- "name" : "Kjetil Skotheim",
- "y" : 2
- },
- {
- "drilldown" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld",
- "y" : 6
- },
- {
- "y" : 2,
- "drilldown" : "Mariano Ortega",
- "name" : "Mariano Ortega"
- },
- {
- "y" : 2,
- "name" : "Mark Anderson",
- "drilldown" : "Mark Anderson"
- },
- {
- "y" : 2,
- "name" : "Niels van Dijke",
- "drilldown" : "Niels van Dijke"
- },
- {
- "y" : 5,
- "name" : "Packy Anderson",
- "drilldown" : "Packy Anderson"
- },
- {
- "y" : 2,
- "name" : "Paulo Custodio",
- "drilldown" : "Paulo Custodio"
- },
- {
- "name" : "Peter Campbell Smith",
- "drilldown" : "Peter Campbell Smith",
- "y" : 3
- },
- {
- "y" : 2,
- "drilldown" : "Peter Meszaros",
- "name" : "Peter Meszaros"
- },
- {
- "y" : 3,
- "drilldown" : "Reinier Maliepaard",
- "name" : "Reinier Maliepaard"
- },
- {
- "y" : 3,
- "name" : "Robbie Hatley",
- "drilldown" : "Robbie Hatley"
- },
- {
- "drilldown" : "Robert Ransbottom",
- "name" : "Robert Ransbottom",
- "y" : 2
- },
- {
- "name" : "Roger Bell_West",
- "drilldown" : "Roger Bell_West",
- "y" : 4
- },
- {
- "y" : 4,
- "name" : "Thomas Kohler",
- "drilldown" : "Thomas Kohler"
- },
- {
- "y" : 4,
- "name" : "Ulrich Rieke",
- "drilldown" : "Ulrich Rieke"
- },
- {
- "name" : "W. Luis Mochan",
- "drilldown" : "W. Luis Mochan",
- "y" : 3
- }
- ],
- "colorByPoint" : 1,
- "name" : "The Weekly Challenge - 282"
- }
- ]
+ "legend" : {
+ "enabled" : 0
+ }
}
diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json
index e3ddd20984..0a0689d9e7 100644
--- a/stats/pwc-language-breakdown-2019.json
+++ b/stats/pwc-language-breakdown-2019.json
@@ -1,15 +1,39 @@
{
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "title" : {
+ "text" : "The Weekly Challenge Language"
+ },
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-08-16 15:58:13 GMT"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
+ "chart" : {
+ "type" : "column"
+ },
"legend" : {
"enabled" : "false"
},
"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"
+ "followPointer" : "true",
+ "headerFormat" : "<span style=\"font-size:11px\"></span>"
},
"drilldown" : {
"series" : [
{
+ "id" : "041",
"data" : [
[
"Perl",
@@ -24,11 +48,9 @@
9
]
],
- "id" : "041",
"name" : "041"
},
{
- "name" : "040",
"id" : "040",
"data" : [
[
@@ -43,9 +65,11 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "040"
},
{
+ "id" : "039",
"data" : [
[
"Perl",
@@ -60,12 +84,9 @@
12
]
],
- "id" : "039",
"name" : "039"
},
{
- "id" : "038",
- "name" : "038",
"data" : [
[
"Perl",
@@ -79,9 +100,13 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "038",
+ "name" : "038"
},
{
+ "name" : "037",
+ "id" : "037",
"data" : [
[
"Perl",
@@ -95,11 +120,10 @@
"Blog",
9
]
- ],
- "id" : "037",
- "name" : "037"
+ ]
},
{
+ "id" : "036",
"data" : [
[
"Perl",
@@ -114,8 +138,7 @@
11
]
],
- "name" : "036",
- "id" : "036"
+ "name" : "036"
},
{
"data" : [
@@ -132,10 +155,11 @@
9
]
],
- "name" : "035",
- "id" : "035"
+ "id" : "035",
+ "name" : "035"
},
{
+ "id" : "034",
"data" : [
[
"Perl",
@@ -150,10 +174,10 @@
11
]
],
- "id" : "034",
"name" : "034"
},
{
+ "id" : "033",
"data" : [
[
"Perl",
@@ -168,8 +192,7 @@
10
]
],
- "name" : "033",
- "id" : "033"
+ "name" : "033"
},
{
"data" : [
@@ -186,10 +209,11 @@
10
]
],
- "name" : "032",
- "id" : "032"
+ "id" : "032",
+ "name" : "032"
},
{
+ "id" : "031",
"data" : [
[
"Perl",
@@ -204,8 +228,7 @@
9
]
],
- "name" : "031",
- "id" : "031"
+ "name" : "031"
},
{
"data" : [
@@ -244,6 +267,7 @@
"name" : "029"
},
{
+ "name" : "028",
"data" : [
[
"Perl",
@@ -258,10 +282,11 @@
9
]
],
- "name" : "028",
"id" : "028"
},
{
+ "name" : "027",
+ "id" : "027",
"data" : [
[
"Perl",
@@ -275,13 +300,9 @@
"Blog",
9
]
- ],
- "id" : "027",
- "name" : "027"
+ ]
},
{
- "name" : "026",
- "id" : "026",
"data" : [
[
"Perl",
@@ -295,11 +316,13 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "026",
+ "name" : "026"
},
{
- "id" : "025",
"name" : "025",
+ "id" : "025",
"data" : [
[
"Perl",
@@ -316,8 +339,6 @@
]
},
{
- "id" : "024",
- "name" : "024",
"data" : [
[
"Perl",
@@ -331,7 +352,9 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "024",
+ "name" : "024"
},
{
"data" : [
@@ -370,8 +393,8 @@
]
},
{
- "id" : "021",
"name" : "021",
+ "id" : "021",
"data" : [
[
"Perl",
@@ -388,6 +411,8 @@
]
},
{
+ "name" : "020",
+ "id" : "020",
"data" : [
[
"Perl",
@@ -401,12 +426,9 @@
"Blog",
13
]
- ],
- "id" : "020",
- "name" : "020"
+ ]
},
{
- "id" : "019",
"name" : "019",
"data" : [
[
@@ -421,11 +443,12 @@
"Blog",
13
]
- ]
+ ],
+ "id" : "019"
},
{
- "id" : "018",
"name" : "018",
+ "id" : "018",
"data" : [
[
"Perl",
@@ -442,6 +465,7 @@
]
},
{
+ "id" : "017",
"data" : [
[
"Perl",
@@ -456,8 +480,7 @@
12
]
],
- "name" : "017",
- "id" : "017"
+ "name" : "017"
},
{
"data" : [
@@ -478,6 +501,8 @@
"name" : "016"
},
{
+ "name" : "015",
+ "id" : "015",
"data" : [
[