diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-16 01:50:14 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-16 01:50:14 +0100 |
| commit | b7c69245e0ad553494a646a2ea9b93f8f8ccd35d (patch) | |
| tree | d37a243d19b8614f703c3e9401c33d03e6c18ce0 | |
| parent | 725b4c475f3a4c80ac89692dc6143c983f73783e (diff) | |
| download | perlweeklychallenge-club-b7c69245e0ad553494a646a2ea9b93f8f8ccd35d.tar.gz perlweeklychallenge-club-b7c69245e0ad553494a646a2ea9b93f8f8ccd35d.tar.bz2 perlweeklychallenge-club-b7c69245e0ad553494a646a2ea9b93f8f8ccd35d.zip | |
- Added Raku solution to "Left Rotation" task.
| -rw-r--r-- | challenge-078/mohammad-anwar/raku/ch-2.raku | 47 | ||||
| -rw-r--r-- | challenge-078/mohammad-anwar/raku/ch-2.t | 53 | ||||
| -rw-r--r-- | stats/pwc-current.json | 184 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 58 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1162 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 402 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 90 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 30 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 38 |
14 files changed, 1249 insertions, 1149 deletions
diff --git a/challenge-078/mohammad-anwar/raku/ch-2.raku b/challenge-078/mohammad-anwar/raku/ch-2.raku new file mode 100644 index 0000000000..85c0cbc761 --- /dev/null +++ b/challenge-078/mohammad-anwar/raku/ch-2.raku @@ -0,0 +1,47 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 078 +# +# Task #2: Left Rotation +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078 +# + +use v6.d; + +sub MAIN(Str :$A = "10, 20, 30, 40, 50", Str :$B = "3, 4") { + left-rotation($A, $B).join("\n").say; +} + +# +# +# METHOD + +sub left-rotation(Str $source, Str $index) { + + die "ERROR: Invalid source [$source].\n" + unless $source ~~ /^[\-?\d\,?\s?]+$/; + die "ERROR: Invalid index [$index].\n" + unless $index ~~ /^[\-?\d\,?\s?]+$/; + + my @source = $source.split(',').map: { .Int }; + my @index = $index.split(',').map: { .Int }; + + my @left-rotation = Empty; + for @index -> $i { + my @array = Empty; + for $i..@source.elems-1 -> $j { + @array.push: @source.[$j]; + } + if $i > 0 { + for 0..$i-1 -> $k { + @array.push: @source.[$k]; + } + } + + @left-rotation.push: @array; + } + + return |@left-rotation; +} diff --git a/challenge-078/mohammad-anwar/raku/ch-2.t b/challenge-078/mohammad-anwar/raku/ch-2.t new file mode 100644 index 0000000000..6fc555f1a0 --- /dev/null +++ b/challenge-078/mohammad-anwar/raku/ch-2.t @@ -0,0 +1,53 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 078 +# +# Task #2: Left Rotation +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078 +# + +use Test; + +is-deeply [left-rotation("10, 20, 30, 40, 50", "3, 4")], + [[40, 50, 10, 20, 30], [50, 10, 20, 30, 40]], + "testing example 1"; + +is-deeply [left-rotation("7, 4, 2, 6, 3", "1, 3, 4")], + [[4, 2, 6, 3, 7], [6, 3, 7, 4, 2], [3, 7, 4, 2, 6]], + "testing example 2"; + +done-testing; + +# +# +# METHOD + +sub left-rotation(Str $source, Str $index) { + + die "ERROR: Invalid source [$source].\n" + unless $source ~~ /^[\-?\d\,?\s?]+$/; + die "ERROR: Invalid index [$index].\n" + unless $index ~~ /^[\-?\d\,?\s?]+$/; + + my @source = $source.split(',').map: { .Int }; + my @index = $index.split(',').map: { .Int }; + + my @left-rotation = Empty; + for @index -> $i { + my @array = Empty; + for $i..@source.elems-1 -> $j { + @array.push: @source.[$j]; + } + if $i > 0 { + for 0..$i-1 -> $k { + @array.push: @source.[$k]; + } + } + + @left-rotation.push: @array; + } + + return |@left-rotation; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 85339f41bb..917176fb98 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,34 +1,12 @@ { - "title" : { - "text" : "Perl Weekly Challenge - 078" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "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/>" - }, "legend" : { "enabled" : 0 }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "drilldown" : { "series" : [ { - "id" : "Abigail", "name" : "Abigail", + "id" : "Abigail", "data" : [ [ "Perl", @@ -37,16 +15,18 @@ ] }, { + "id" : "Alexander Pankoff", + "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ], - "name" : "Alexander Pankoff", - "id" : "Alexander Pankoff" + ] }, { + "name" : "Andinus", + "id" : "Andinus", "data" : [ [ "Perl", @@ -56,9 +36,7 @@ "Blog", 2 ] - ], - "name" : "Andinus", - "id" : "Andinus" + ] }, { "name" : "Andrew Shitov", @@ -95,14 +73,14 @@ ] }, { - "name" : "Dave Cross", - "id" : "Dave Cross", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Dave Cross", + "id" : "Dave Cross" }, { "data" : [ @@ -115,34 +93,34 @@ "id" : "Dave Jacoby" }, { + "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba", - "name" : "E. Choroba" + ] }, { + "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", 2 ] - ], - "id" : "James Smith", - "name" : "James Smith" + ] }, { - "name" : "Jason Messer", - "id" : "Jason Messer", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Jason Messer", + "id" : "Jason Messer" }, { "data" : [ @@ -151,22 +129,22 @@ 2 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { - "name" : "Markus Holzer", - "id" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Markus Holzer", + "name" : "Markus Holzer" }, { - "id" : "Mohammad S Anwar", "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -174,7 +152,7 @@ ], [ "Raku", - 1 + 2 ] ] }, @@ -219,8 +197,8 @@ 1 ] ], - "id" : "Steven Wilson", - "name" : "Steven Wilson" + "name" : "Steven Wilson", + "id" : "Steven Wilson" }, { "id" : "Ulrich Rieke", @@ -237,8 +215,6 @@ ] }, { - "id" : "Walt Mankowski", - "name" : "Walt Mankowski", "data" : [ [ "Perl", @@ -248,27 +224,34 @@ "Blog", 1 ] - ] + ], + "id" : "Walt Mankowski", + "name" : "Walt Mankowski" } ] }, "chart" : { "type" : "column" }, - "subtitle" : { - "text" : "[Champions: 20] Last updated at 2020-09-16 00:26:18 GMT" + "title" : { + "text" : "Perl Weekly Challenge - 078" }, - "xAxis" : { - "type" : "category" + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } }, "series" : [ { - "name" : "Perl Weekly Challenge - 078", "data" : [ { + "drilldown" : "Abigail", "y" : 2, - "name" : "Abigail", - "drilldown" : "Abigail" + "name" : "Abigail" }, { "y" : 2, @@ -277,38 +260,38 @@ }, { "drilldown" : "Andinus", - "name" : "Andinus", - "y" : 4 + "y" : 4, + "name" : "Andinus" }, { - "y" : 3, + "name" : "Andrew Shitov", "drilldown" : "Andrew Shitov", - "name" : "Andrew Shitov" + "y" : 3 }, { + "y" : 2, "drilldown" : "Anton Fedotov", - "name" : "Anton Fedotov", - "y" : 2 + "name" : "Anton Fedotov" }, { - "y" : 2, + "name" : "Bob Lied", "drilldown" : "Bob Lied", - "name" : "Bob Lied" + "y" : 2 }, { - "y" : 2, "name" : "Dave Cross", - "drilldown" : "Dave Cross" + "drilldown" : "Dave Cross", + "y" : 2 }, { - "y" : 2, "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby" + "drilldown" : "Dave Jacoby", + "y" : 2 }, { - "drilldown" : "E. Choroba", "name" : "E. Choroba", - "y" : 2 + "y" : 2, + "drilldown" : "E. Choroba" }, { "y" : 2, @@ -317,8 +300,8 @@ }, { "name" : "Jason Messer", - "drilldown" : "Jason Messer", - "y" : 2 + "y" : 2, + "drilldown" : "Jason Messer" }, { "y" : 2, @@ -326,47 +309,64 @@ "name" : "Mark Anderson" }, { + "name" : "Markus Holzer", "y" : 2, - "drilldown" : "Markus Holzer", - "name" : "Markus Holzer" + "drilldown" : "Markus Holzer" }, { - "name" : "Mohammad S Anwar", + "y" : 4, "drilldown" : "Mohammad S Anwar", - "y" : 3 + "name" : "Mohammad S Anwar" }, { - "y" : 2, "drilldown" : "Niels van Dijke", + "y" : 2, "name" : "Niels van Dijke" }, { "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 + "y" : 4, + "name" : "Roger Bell_West" }, { + "name" : "Simon Proctor", "y" : 2, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" + "drilldown" : "Simon Proctor" }, { + "drilldown" : "Steven Wilson", "y" : 1, - "name" : "Steven Wilson", - "drilldown" : "Steven Wilson" + "name" : "Steven Wilson" }, { + "name" : "Ulrich Rieke", "y" : 4, - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "drilldown" : "Ulrich Rieke" }, { - "y" : 3, "name" : "Walt Mankowski", - "drilldown" : "Walt Mankowski" + "drilldown" : "Walt Mankowski", + "y" : 3 } ], + "name" : "Perl Weekly Challenge - 078", "colorByPoint" : 1 } - ] + ], + "subtitle" : { + "text" : "[Champions: 20] Last updated at 2020-09-16 00:49:56 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "xAxis" : { + "type" : "category" + }, + "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/>" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 0999dd58f0..b54e02836a 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,6 +1,27 @@ { + "subtitle" : { + "text" : "Last updated at 2020-09-16 00:49:56 GMT" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, "series" : [ { + "dataLabels" : { + "y" : 10, + "align" : "right", + "rotation" : -90, + "format" : "{point.y:.0f}", + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "color" : "#FFFFFF", + "enabled" : "true" + }, "data" : [ [ "Blog", @@ -12,24 +33,15 @@ ], [ "Raku", - 2135 + 2136 ] ], - "dataLabels" : { - "color" : "#FFFFFF", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "align" : "right", - "format" : "{point.y:.0f}", - "enabled" : "true", - "y" : 10, - "rotation" : -90 - }, "name" : "Contributions" } ], + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, "xAxis" : { "labels" : { "style" : { @@ -39,25 +51,13 @@ }, "type" : "category" }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2020-09-16 00:26:18 GMT" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "legend" : { "enabled" : "false" }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 2ccfa893aa..d7902a6a39 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,441 +1,7 @@ { - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-09-16 00:26:18 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "series" : [ - { - "colorByPoint" : "true", - "data" : [ - { - "name" : "#001", - "drilldown" : "001", - "y" : 142 - }, - { - "y" : 111, - "name" : "#002", - "drilldown" : "002" - }, - { - "y" : 71, - "drilldown" : "003", - "name" : "#003" - }, - { - "y" : 91, - "name" : "#004", - "drilldown" : "004" - }, - { - "y" : 72, - "drilldown" : "005", - "name" : "#005" - }, - { - "y" : 52, - "name" : "#006", - "drilldown" : "006" - }, - { - "drilldown" : "007", - "name" : "#007", - "y" : 59 - }, - { - "y" : 72, - "name" : "#008", - "drilldown" : "008" - }, - { - "y" : 70, - "name" : "#009", - "drilldown" : "009" - }, - { - "drilldown" : "010", - "name" : "#010", - "y" : 60 - }, - { - "y" : 79, - "drilldown" : "011", - "name" : "#011" - }, - { - "name" : "#012", - "drilldown" : "012", - "y" : 83 - }, - { - "y" : 78, - "name" : "#013", - "drilldown" : "013" - }, - { - "name" : "#014", - "drilldown" : "014", - "y" : 96 - }, - { - "name" : "#015", - "drilldown" : "015", - "y" : 93 - }, - { - "y" : 66, - "drilldown" : "016", - "name" : "#016" - }, - { - "y" : 79, - "name" : "#017", - "drilldown" : "017" - }, - { - "drilldown" : "018", - "name" : "#018", - "y" : 76 - }, - { - "y" : 97, - "drilldown" : "019", - "name" : "#019" - }, - { - "name" : "#020", - "drilldown" : "020", - "y" : 95 - }, - { - "drilldown" : "021", - "name" : "#021", - "y" : 67 - }, - { - "drilldown" : "022", - "name" : "#022", - "y" : 63 - }, - { - "y" : 91, - "name" : "#023", - "drilldown" : "023" - }, - { - "drilldown" : "024", - "name" : "#024", - "y" : 70 - }, - { - "name" : "#025", - "drilldown" : "025", - "y" : 55 - }, - { - "y" : 70, - "drilldown" : "026", - "name" : "#026" - }, - { - "y" : 58, - "name" : "#027", - "drilldown" : "027" - }, - { - "drilldown" : "028", - "name" : "#028", - "y" : 78 - }, - { - "y" : 77, - "name" : "#029", - "drilldown" : "029" - }, - { - "y" : 115, - "drilldown" : "030", - "name" : "#030" - }, - { - "y" : 87, - "name" : "#031", - "drilldown" : "031" - }, - { - "drilldown" : "032", - "name" : "#032", - "y" : 92 - }, - { - "y" : 108, - "drilldown" : "033", - "name" : "#033" - }, - { - "drilldown" : "034", - "name" : "#034", - "y" : 62 - }, - { - "y" : 62, - "name" : "#035", - "drilldown" : "035" - }, - { - "y" : 66, - "drilldown" : "036", - "name" : "#036" - }, - { - "y" : 65, - "name" : "#037", - "drilldown" : "037" - }, - { - "y" : 65, - "drilldown" : "038", - "name" : "#038" - }, - { - "y" : 60, - "drilldown" : "039", - "name" : "#039" - }, - { - "name" : "#040", - "drilldown" : "040", - "y" : 71 - }, - { - "drilldown" : "041", - "name" : "#041", - "y" : 74 - }, - { - "y" : 88, - "name" : "#042", - "drilldown" : "042" - }, - { - "name" : "#043", - "drilldown" : "043", - "y" : 66 - }, - { - "y" : 82, - "drilldown" : "044", - "name" : "#044" - }, - { - "y" : 94, - "drilldown" : "045", - "name" : "#045" - }, - { - "y" : 85, - "drilldown" : "046", - "name" : "#046" - }, - { - "y" : 82, - "drilldown" : "047", - "name" : "#047" - }, - { - "y" : 106, - "name" : "#048", - "drilldown" : "048" - }, - { - "drilldown" : "049", - "name" : "#049", - "y" : 85 - }, - { - "y" : 96, - "name" : "#050", - "drilldown" : "050" - }, - { - "name" : "#051", - "drilldown" : "051", - "y" : 87 - }, - { - "y" : 89, - "name" : "#052", - "drilldown" : "052" - }, - { - "name" : "#053", - "drilldown" : "053", - "y" : 99 - }, - { - "drilldown" : "054", - "name" : "#054", - "y" : 101 - }, - { - "y" : 86, - "drilldown" : "055", - "name" : "#055" - }, - { - "name" : "#056", - "drilldown" : "056", - "y" : 93 - }, - { - "y" : 78, - "name" : "#057", - "drilldown" : "057" - }, - { - "y" : 67, - "drilldown" : "058", - "name" : "#058" - }, - { - "drilldown" : "059", - "name" : "#059", - "y" : 87 - }, - { - "y" : 83, - "name" : "#060", - "drilldown" : "060" - }, - { - "name" : "#061", - "drilldown" : "061", - "y" : 79 - }, - { - "y" : 54, - "name" : "#062", - "drilldown" : "062" - }, - { - "y" : 87, - "drilldown" : "063", - "name" : "#063" - }, - { - "y" : 78, - "drilldown" : "064", - "name" : "#064" - }, - { - "drilldown" : "065", - "name" : "#065", - "y" : 71 - }, - { - "drilldown" : "066", - "name" : "#066", - "y" : 82 - }, - { - "name" : "#067", - "drilldown" : "067", - "y" : 88 - }, - { - "name" : "#068", - "drilldown" : "068", - "y" : 73 - }, - { - "name" : "#069", - "drilldown" : "069", - "y" : 81 - }, - { - "drilldown" : "070", - "name" : "#070", - "y" : 91 - }, - { - "y" : 76, - "name" : "#071", - "drilldown" : "071" - }, - { - "y" : 110, - "name" : "#072", - "drilldown" : "072" - }, - { - "y" : 108, - "drilldown" : "073", - "name" : "#073" - }, - { - "name" : "#074", - "drilldown" : "074", - "y" : 113 - }, - { - "name" : "#075", - "drilldown" : "075", - "y" : 111 - }, - { - "y" : 91, - "name" : "#076", - "drilldown" : "076" - }, - { - "name" : "#077", - "drilldown" : "077", - "y" : 94 - }, - { - "y" : 48, - "name" : "#078", - "drilldown" : "078" - } - ], - "name" : "Perl Weekly Challenge Languages" - } - ], - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "tooltip" : { - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "followPointer" : "true", - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" - }, - "legend" : { - "enabled" : "false" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "drilldown" : { "series" : [ { - "name" : "001", - "id" : "001", "data" : [ [ "Perl", @@ -449,7 +15,9 @@ "Blog", 11 ] - ] + ], + "name" : "001", + "id" : "001" }, { "id" : "002", @@ -484,12 +52,12 @@ 9 ] ], - "id" : "003", - "name" : "003" + "name" : "003", + "id" : "003" }, { - "name" : "004", "id" : "004", + "name" : "004", "data" : [ [ "Perl", @@ -542,8 +110,8 @@ "name" : "006" }, { - "name" : "007", "id" : "007", + "name" : "007", "data" : [ [ "Perl", @@ -560,6 +128,8 @@ ] }, { + "name" : "008", + "id" : "008", "data" : [ [ "Perl", @@ -573,9 +143,7 @@ "Blog", 12 ] - ], - "name" : "008", - "id" : "008" + ] }, { "name" : "009", @@ -596,6 +164,8 @@ ] }, { + "id" : "010", + "name" : "010", "data" : [ [ "Perl", @@ -609,13 +179,9 @@ "Blog", 11 ] - ], - "name" : "010", - "id" : "010" + ] |
