diff options
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" : [ [ |
