diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-01-10 14:57:56 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-01-10 14:57:56 +0000 |
| commit | 612d4c4f6c947d4aa461b71402a8fc87855bab54 (patch) | |
| tree | f9255c46ac7a08712c398764321d3faa79a8b552 | |
| parent | 4ea3daa6928c0a87d24f29bbc17fe9deb276694e (diff) | |
| download | perlweeklychallenge-club-612d4c4f6c947d4aa461b71402a8fc87855bab54.tar.gz perlweeklychallenge-club-612d4c4f6c947d4aa461b71402a8fc87855bab54.tar.bz2 perlweeklychallenge-club-612d4c4f6c947d4aa461b71402a8fc87855bab54.zip | |
- Added solutions by Kevin Colyer.
| -rw-r--r-- | challenge-042/kevin-colyer/raku/ch-1.p6 | 39 | ||||
| -rw-r--r-- | challenge-042/kevin-colyer/raku/ch-2.p6 | 59 | ||||
| -rw-r--r-- | stats/pwc-current.json | 217 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 52 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 320 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 414 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 54 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 58 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 126 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 36 |
12 files changed, 818 insertions, 705 deletions
diff --git a/challenge-042/kevin-colyer/raku/ch-1.p6 b/challenge-042/kevin-colyer/raku/ch-1.p6 new file mode 100644 index 0000000000..c7f2649e99 --- /dev/null +++ b/challenge-042/kevin-colyer/raku/ch-1.p6 @@ -0,0 +1,39 @@ +#!/usr/bin/perl6 +use v6; + +use Test; + + +=begin pod + +TASK #1 +Octal Number System +Write a script to print decimal number 0 to 50 in Octal Number System. + +For example: + +Decimal 0 = Octal 0 +Decimal 1 = Octal 1 +Decimal 2 = Octal 2 +Decimal 3 = Octal 3 +Decimal 4 = Octal 4 +Decimal 5 = Octal 5 +Decimal 6 = Octal 6 +Decimal 7 = Octal 7 +Decimal 8 = Octal 10 +and so on. + +=end pod + +# Roll my own version because? Why not! +sub dec-to-oct(Int $n is copy) returns Str { + return "0" if $n==0; + my Str $o = ""; + while $n>0 { + $o= $n +& 7 ~ $o; # add lower three bits + $n= $n +> 3 ; # shift off lower three bits + } + return $o; +} + +say "Decimal $_ = Octal {dec-to-oct($_)} is sprintf conversion {sprintf "%o", $_}" for ^51; diff --git a/challenge-042/kevin-colyer/raku/ch-2.p6 b/challenge-042/kevin-colyer/raku/ch-2.p6 new file mode 100644 index 0000000000..70f471113c --- /dev/null +++ b/challenge-042/kevin-colyer/raku/ch-2.p6 @@ -0,0 +1,59 @@ +#!/usr/bin/perl6 +use v6; + +use Test; + + +=begin pod + +TASK #2 + +Balanced Brackets +Write a script to generate a string with random number of ( and ) brackets. Then make the script validate the string if it has balanced brackets. + +For example: + +() - OK +(()) - OK +)( - NOT OK +())() - NOT OK + +=end pod + +sub match-brackets(Str $t) { + # can never match condition + return False if $t.chars < 2; + + # loop counting +1 for open -1 for close. + + # zero sum is matching + # positive sum is non matching + # negative is always non matching (and quick exit) + my $open=0; + for ^$t.chars -> $i { + $open++ if $t.substr($i,1) eq '('; + $open-- if $t.substr($i,1) eq ')'; + return False if $open < 0; + } + return $open == 0 ?? True !! False ; +} + +multi MAIN("test") { + is match-brackets("()") ,True ,"test matching"; + is match-brackets(")(") ,False,"test never matching"; + is match-brackets("()(") ,False,"test odd open not matching"; + is match-brackets("())") ,False,"test odd close not matching"; + is match-brackets("((())())"),True ,"test nested matching"; + is match-brackets("((())))") ,False,"test nested not matching"; + is match-brackets("(a(b(c)d)e(f)g)h"),True ,"test nested matching with alternate chars"; + done-testing; +} + +multi MAIN() { + for ^20 -> $i { + my Str $c; + my $j=1+(^5).roll; + $c~= ('(',')').pick for ^2*$j; + say (match-brackets($c) ?? " Matching: " !! "Not-Matching: ") ~ $c; + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 81f94bade1..c3feaab9d9 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,41 +1,35 @@ { - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "title" : { + "text" : "Perl Weekly Challenge - 042" }, "series" : [ { - "colorByPoint" : 1, "name" : "Perl Weekly Challenge - 042", "data" : [ { + "y" : 2, "name" : "Alicia Bielsa", - "drilldown" : "Alicia Bielsa", - "y" : 2 + "drilldown" : "Alicia Bielsa" }, { + "y" : 3, "name" : "Arne Sommer", - "drilldown" : "Arne Sommer", - "y" : 3 + "drilldown" : "Arne Sommer" }, { + "drilldown" : "Daniel Mita", "name" : "Daniel Mita", - "y" : 2, - "drilldown" : "Daniel Mita" + "y" : 2 }, { "name" : "Dave Jacoby", - "y" : 2, - "drilldown" : "Dave Jacoby" + "drilldown" : "Dave Jacoby", + "y" : 2 }, { + "drilldown" : "Duane Powell", "name" : "Duane Powell", - "y" : 2, - "drilldown" : "Duane Powell" + "y" : 2 }, { "y" : 2, @@ -43,104 +37,133 @@ "name" : "E. Choroba" }, { - "y" : 2, "drilldown" : "Fabrizio Poggi", - "name" : "Fabrizio Poggi" + "name" : "Fabrizio Poggi", + "y" : 2 }, { - "y" : 5, + "name" : "Javier Luque", "drilldown" : "Javier Luque", - "name" : "Javier Luque" + "y" : 5 }, { "y" : 2, + "name" : "Kevin Colyer", + "drilldown" : "Kevin Colyer" + }, + { "drilldown" : "Kivanc Yazan", - "name" : "Kivanc Yazan" + "name" : "Kivanc Yazan", + "y" : 2 }, { "name" : "Laurent Rosenfeld", - "y" : 5, - "drilldown" : "Laurent Rosenfeld" + "drilldown" : "Laurent Rosenfeld", + "y" : 5 }, { - "name" : "Markus Holzer", "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", "y" : 2 }, { - "name" : "Nazareno Delucca", "y" : 2, - "drilldown" : "Nazareno Delucca" + "drilldown" : "Nazareno Delucca", + "name" : "Nazareno Delucca" }, { - "drilldown" : "Peter Scott", "y" : 2, + "drilldown" : "Peter Scott", "name" : "Peter Scott" }, { - "name" : "Roger Bell West", "y" : 4, + "name" : "Roger Bell West", "drilldown" : "Roger Bell West" }, { - "name" : "Ruben Westerberg", "y" : 4, + "name" : "Ruben Westerberg", "drilldown" : "Ruben Westerberg" }, { + "y" : 6, "name" : "Ryan Thompson", - "drilldown" : "Ryan Thompson", - "y" : 6 + "drilldown" : "Ryan Thompson" }, { + "y" : 2, "name" : "Saif Ahmed", - "drilldown" : "Saif Ahmed", - "y" : 2 + "drilldown" : "Saif Ahmed" }, { - "name" : "Simon Proctor", + "y" : 2, "drilldown" : "Simon Proctor", - "y" : 2 + "name" : "Simon Proctor" }, { - "drilldown" : "Steven Wilson", "y" : 1, + "drilldown" : "Steven Wilson", "name" : "Steven Wilson" }, { - "name" : "Ulrich Rieke", + "y" : 2, "drilldown" : "Ulrich Rieke", - "y" : 2 + "name" : "Ulrich Rieke" }, { + "drilldown" : "Walt Mankowski", "name" : "Walt Mankowski", - "y" : 2, - "drilldown" : "Walt Mankowski" + "y" : 2 }, { "name" : "Wanderdoc", - "y" : 2, - "drilldown" : "Wanderdoc" + "drilldown" : "Wanderdoc", + "y" : 2 } - ] + ], + "colorByPoint" : 1 } ], - "legend" : { - "enabled" : 0 + "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 + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } }, "drilldown" : { "series" : [ { - "name" : "Alicia Bielsa", - "id" : "Alicia Bielsa", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Alicia Bielsa", + "id" : "Alicia Bielsa" }, { + "name" : "Arne Sommer", "id" : "Arne Sommer", "data" : [ [ @@ -151,8 +174,7 @@ "Blog", 1 ] - ], - "name" : "Arne Sommer" + ] }, { "name" : "Daniel Mita", @@ -165,8 +187,8 @@ ] }, { - "name" : "Dave Jacoby", "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -186,26 +208,27 @@ }, { "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba" + ] }, { "id" : "Fabrizio Poggi", + "name" : "Fabrizio Poggi", "data" : [ [ "Perl", 2 ] - ], - "name" : "Fabrizio Poggi" + ] }, { "name" : "Javier Luque", + "id" : "Javier Luque", "data" : [ [ "Perl", @@ -219,21 +242,31 @@ "Blog", 1 ] + ] + }, + { + "data" : [ + [ + "Raku", + 2 + ] ], - "id" : "Javier Luque" + "id" : "Kevin Colyer", + "name" : "Kevin Colyer" }, { - "name" : "Kivanc Yazan", - "id" : "Kivanc Yazan", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Kivanc Yazan", + "id" : "Kivanc Yazan" }, { "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -247,41 +280,39 @@ "Blog", 1 ] - ], - "name" : "Laurent Rosenfeld" + ] }, { + "name" : "Markus Holzer", "id" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ], - "name" : "Markus Holzer" + ] }, { - "id" : "Nazareno Delucca", "data" : [ [ "Perl", 2 ] ], + "id" : "Nazareno Delucca", "name" : "Nazareno Delucca" }, { - "name" : "Peter Scott", "data" : [ [ "Perl", 2 ] ], - "id" : "Peter Scott" + "id" : "Peter Scott", + "name" : "Peter Scott" }, { - "name" : "Roger Bell West", "data" : [ [ "Perl", @@ -292,6 +323,7 @@ 2 ] ], + "name" : "Roger Bell West", "id" : "Roger Bell West" }, { @@ -310,6 +342,7 @@ }, { "id" : "Ryan Thompson", + "name" : "Ryan Thompson", "data" : [ [ "Perl", @@ -323,38 +356,37 @@ "Blog", 2 ] - ], - "name" : "Ryan Thompson" + ] }, { - "id" : "Saif Ahmed", "data" : [ [ "Perl", 2 ] ], - "name" : "Saif Ahmed" + "name" : "Saif Ahmed", + "id" : "Saif Ahmed" }, { - "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], + "name" : "Simon Proctor", "id" : "Simon Proctor" }, { - "name" : "Steven Wilson", "data" : [ [ "Perl", 1 ] ], - "id" : "Steven Wilson" + "id" : "Steven Wilson", + "name" : "Steven Wilson" }, { "data" : [ @@ -373,42 +405,25 @@ 2 ] ], - "id" : "Walt Mankowski", - "name" : "Walt Mankowski" + "name" : "Walt Mankowski", + "id" : "Walt Mankowski" }, { - "name" : "Wanderdoc", - "id" : "Wanderdoc", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Wanderdoc", + "id" : "Wanderdoc" } ] }, - "title" : { - "text" : "Perl Weekly Challenge - 042" - }, - "chart" : { - "type" : "column" - }, - "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 - }, "subtitle" : { - "text" : "[Champions: 22] Last updated at 2020-01-09 16:42:34 GMT" + "text" : "[Champions: 23] Last updated at 2020-01-10 14:56:44 GMT" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } + "legend" : { + "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 61e5772305..2a012ce76f 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,33 +1,41 @@ { + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Last updated at 2020-01-10 14:56:44 GMT" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "xAxis" : { "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } }, "type" : "category" }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "chart" : { + "type" : "column" }, "series" : [ { - "name" : "Contributions", "dataLabels" : { - "format" : "{point.y:.0f}", - "color" : "#FFFFFF", "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" }, - "enabled" : "true", - "y" : 10, "align" : "right", - "rotation" : -90 + "y" : 10, + "rotation" : -90, + "format" : "{point.y:.0f}", + "color" : "#FFFFFF", + "enabled" : "true" }, "data" : [ [ @@ -40,24 +48,16 @@ ], [ "Raku", - 1038 + 1040 ] - ] + ], + "name" : "Contributions" } ], - "legend" : { - "enabled" : "false" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "chart" : { - "type" : "column" - }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "subtitle" : { - "text" : "Last updated at 2020-01-09 16:42:34 GMT" + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index c849af768d..902f32276e 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,67 +1,42 @@ { - "title" : { - "text" : "Perl Weekly Challenge Language" - }, "chart" : { "type" : "column" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-01-09 16:42:34 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "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" - } - }, - "xAxis" : { - "type" : "category" + "title" : { + "text" : "Perl Weekly Challenge Language" }, "series" : [ { "data" : [ { - "y" : 140, "drilldown" : "001", - "name" : "#001" + "name" : "#001", + "y" : 140 }, { - "y" : 109, "drilldown" : "002", - "name" : "#002" + "name" : "#002", + "y" : 109 }, { - "y" : 71, "drilldown" : "003", - "name" : "#003" + "name" : "#003", + "y" : 71 }, { + "drilldown" : "004", "name" : "#004", - "y" : 91, - "drilldown" : "004" + "y" : 91 }, { "drilldown" : "005", - "y" : 71, - "name" : "#005" + "name" : "#005", + "y" : 71 }, { + "drilldown" : "006", "name" : "#006", - "y" : 48, - "drilldown" : "006" + "y" : 48 }, { "name" : "#007", @@ -69,38 +44,38 @@ "y" : 56 }, { - "name" : "#008", "y" : 70, + "name" : "#008", "drilldown" : "008" }, { - "name" : "#009", "y" : 68, - "drilldown" : "009" + "drilldown" : "009", + "name" : "#009" }, { - "drilldown" : "010", "y" : 60, - "name" : "#010" + "name" : "#010", + "drilldown" : "010" }, { - "y" : 79, + "name" : "#011", "drilldown" : "011", - "name" : "#011" + "y" : 79 }, { - "drilldown" : "012", "y" : 83, + "drilldown" : "012", "name" : "#012" }, { - "y" : 76, + "name" : "#013", "drilldown" : "013", - "name" : "#013" + "y" : 76 }, { - "name" : "#014", "y" : 96, + "name" : "#014", "drilldown" : "014" }, { @@ -119,8 +94,8 @@ "name" : "#017" }, { - "drilldown" : "018", "y" : 76, + "drilldown" : "018", "name" : "#018" }, { @@ -129,9 +104,9 @@ "name" : "#019" }, { - "name" : "#020", "y" : 95, - "drilldown" : "020" + "drilldown" : "020", + "name" : "#020" }, { "y" : 67, @@ -139,29 +114,29 @@ "name" : "#021" }, { - "name" : "#022", "y" : 63, - "drilldown" : "022" + "drilldown" : "022", + "name" : "#022" }, { - "y" : 91, "drilldown" : "023", - "name" : "#023" + "name" : "#023", + "y" : 91 }, { + "y" : 70, "name" : "#024", - "drilldown" : "024", - "y" : 70 + "drilldown" : "024" }, { - "name" : "#025", + "y" : 55, "drilldown" : "025", - "y" : 55 + "name" : "#025" }, { - "drilldown" : "026", "y" : 70, - "name" : "#026" + "name" : "#026", + "drilldown" : "026" }, { "name" : "#027", @@ -169,19 +144,19 @@ "y" : 58 }, { - "drilldown" : "028", "y" : 78, + "drilldown" : "028", "name" : "#028" }, { "name" : "#029", - "y" : 77, - "drilldown" : "029" + "drilldown" : "029", + "y" : 77 }, { - "name" : "#030", + "y" : 115, "drilldown" : "030", - "y" : 115 + "name" : "#030" }, { "name" : "#031", @@ -189,70 +164,73 @@ "y" : 87 }, { - "drilldown" : "032", "y" : 92, - "name" : "#032" + "name" : "#032", + "drilldown" : "032" }, { - "drilldown" : "033", "y" : 108, + "drilldown" : "033", "name" : "#033" }, { - "name" : "#034", + "y" : 60, "drilldown" : "034", - "y" : 60 + "name" : "#034" }, { + "drilldown" : "035", "name" : "#035", - "y" : 60, - "drilldown" : "035" + "y" : 60 }, { - "y" : 61, "drilldown" : "036", - "name" : "#036" + "name" : "#036", + "y" : 61 }, { - "drilldown" : "037", "y" : 63, + "drilldown" : "037", "name" : "#037" }, { + "y" : 60, "name" : "#038", - "drilldown" : "038", - "y" : 60 + "drilldown" : "038" }, { - "name" : "#039", + "y" : 60, "drilldown" : "039", - "y" : 60 + "name" : "#039" }, { + "name" : "#040", "drilldown" : "040", - "y" : 66, - "name" : "#040" + "y" : 66 }, { - "name" : "#041", "y" : 67, - "drilldown" : "041" + "drilldown" : "041", + "name" : "#041" }, { - "drilldown" : "042", - "y" : 58, - "name" : "#042" + "y" : 60, + "name" : "#042", + "drilldown" : "042" } ], "name" : "Perl Weekly Challenge Languages", "colorByPoint" : "true" } ], + "tooltip" : { + "followPointer" : "true", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style=\"font-size:11px\"></span>" + }, "drilldown" : { "series" : [ { - "name" : "001", - "id" : "001", "data" : [ [ "Perl", @@ -266,9 +244,13 @@ "Blog", 11 ] - ] + ], + "id" : "001", + "name" : "001" }, { + "name" : "002", + "id" : "002", "data" : [ [ "Perl", @@ -282,13 +264,9 @@ "Blog", 10 ] - ], - "id" : "002", - "name" : "002" + ] }, { - "name" : "003", - "id" : "003", "data" : [ [ "Perl", @@ -302,9 +280,13 @@ "Blog", 9 ] - ] + ], + "name" : "003", + "id" : "003" }, { + "name" : "004", + "id" : "004", "data" : [ [ "Perl", @@ -318,9 +300,7 @@ "Blog", 10 ] - ], - "id" : "004", - "name" : "004" + ] }, { "data" : [ @@ -337,11 +317,12 @@ 12 ] ], - "id" : "005", - "name" : "005" + "name" : "005", + "id" : "005" }, { "name" : "006", + "id" : "006", "data" : [ [ "Perl", @@ -355,12 +336,9 @@ "Blog", 7 ] - ], - "id" : "006" + ] }, { - "name" : "007", - "id" : "007", "data" : [ [ "Perl", @@ -374,10 +352,11 @@ "Blog", 10 ] - ] + ], + "name" : "007", + "id" : "007" }, { - "id" : "008", "data" : [ [ "Perl", @@ -392,6 +371,7 @@ 12 ] ], + "id" : "008", "name" : "008" }, { @@ -409,11 +389,10 @@ 13 ] ], - "id" : "009", - "name" : "009" + "name" : "009", + "id" : "009" }, { - "id" : "010", "data" : [ [ "Perl", @@ -428,10 +407,10 @@ |
