diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-10 12:13:27 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-10 12:13:27 +0100 |
| commit | df778d1016d00d436ca2628460f39631b724028b (patch) | |
| tree | 332920cd24455c41e98d9e977c43e06c55c06228 | |
| parent | 10e9dbddaadcbf7aec56e94c999187f55266a83e (diff) | |
| download | perlweeklychallenge-club-df778d1016d00d436ca2628460f39631b724028b.tar.gz perlweeklychallenge-club-df778d1016d00d436ca2628460f39631b724028b.tar.bz2 perlweeklychallenge-club-df778d1016d00d436ca2628460f39631b724028b.zip | |
- Added Perl, Raku and Swift solutions to the Challenge #073.
21 files changed, 1765 insertions, 1177 deletions
diff --git a/challenge-073/mohammad-anwar/perl/ch-1.pl b/challenge-073/mohammad-anwar/perl/ch-1.pl new file mode 100755 index 0000000000..c6fc852143 --- /dev/null +++ b/challenge-073/mohammad-anwar/perl/ch-1.pl @@ -0,0 +1,50 @@ +#!/usr/bin/perl + +# +# Perl Weekly Challenge - 073 +# +# Task #1: Min Sliding Window +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +use strict; +use warnings; +use List::Util qw(min); + +my $A = $ARGV[0] || "1, 5, 0, 2, 9, 3, 7, 6, 4, 8"; +my $S = $ARGV[1] || 3; + +print "$A\n"; +print join ("\n", (join ', ', @{min_sliding_window($A, $S)}), ""); + +# +# +# METHOD + +sub min_sliding_window { + my ($list, $size) = @_; + + die "ERROR: Missing list.\n" + unless defined $list; + die "ERROR: Invalid list [$list].\n" + unless ($list =~ /^[\-?\d\,?\s?]+$/); + + $list =~ s/\s//g; + $list = [ split /\,/, $list ]; + + die "ERROR: Missing size.\n" + unless defined $size; + die "ERROR: Invalid size [$size].\n" + unless (($size >= 2) && ($size - 1 <= $#$list)); + + my $index = 0; + my @min_sliding_window = (); + while ($index + $size - 1 <= $#$list) { + push @min_sliding_window, + min ( map { $list->[$_] } $index .. $index + $size - 1 ); + $index++; + } + + return \@min_sliding_window; +} diff --git a/challenge-073/mohammad-anwar/perl/ch-1a.pl b/challenge-073/mohammad-anwar/perl/ch-1a.pl new file mode 100755 index 0000000000..b2f5d88934 --- /dev/null +++ b/challenge-073/mohammad-anwar/perl/ch-1a.pl @@ -0,0 +1,66 @@ +#!/usr/bin/perl + +# +# Perl Weekly Challenge - 073 +# +# Task #1: Min Sliding Window +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +package MinSlidingWindow; + +use Moo; +use List::Util qw(min); + +sub generate { + my ($self, $list, $size) = @_; + + die "ERROR: Missing list.\n" + unless defined $list; + die "ERROR: Invalid list [$list].\n" + unless ($list =~ /^[\-?\d\,?\s?]+$/); + + $list =~ s/\s//g; + $list = [ split /\,/, $list ]; + + die "ERROR: Missing size.\n" + unless defined $size; + die "ERROR: Invalid size [$size].\n" + unless (($size >= 2) && ($size - 1 <= $#$list)); + + my $index = 0; + my @min_sliding_window = (); + while ($index + $size - 1 <= $#$list) { + push @min_sliding_window, + min ( map { $list->[$_] } $index .. $index + $size - 1 ); + $index++; + } + + return \@min_sliding_window; +} + +package main; + +use Test2::V0 -target => 'MinSlidingWindow'; + +my $list = "1, 5, 0, 2, 9, 3, 7, 6, 4, 8"; +my %test_cases = ( + 2 => "1, 0, 0, 2, 3, 3, 6, 4, 4", + 3 => "0, 0, 0, 2, 3, 3, 4, 4", + 4 => "0, 0, 0, 2, 3, 3, 4", + 5 => "0, 0, 0, 2, 3, 3", + 6 => "0, 0, 0, 2, 3", + 7 => "0, 0, 0, 2", + 8 => "0, 0, 0", + 9 => "0, 0", + 10 => "0", +); + +warn "List = $list\n"; +foreach my $size (sort { $a <=> $b } keys %test_cases) { + my $min = join ", ", @{$CLASS->generate($list, $size)}; + is $min, $test_cases{$size}, "testing window size $size"; +} + +done_testing; diff --git a/challenge-073/mohammad-anwar/perl/ch-2.pl b/challenge-073/mohammad-anwar/perl/ch-2.pl new file mode 100755 index 0000000000..c46959feef --- /dev/null +++ b/challenge-073/mohammad-anwar/perl/ch-2.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +# +# Perl Weekly Challenge - 073 +# +# Task #2: Smallest Neighbour +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +use strict; +use warnings; +use List::Util qw(min); + +my $A = $ARGV[0] || "7, 8, 3, 12, 10"; + +print "$A\n"; +print join("\n", (join ', ', @{smallest_neighbour($A)}), ""); + +# +# +# METHOD + +sub smallest_neighbour { + my ($list) = @_; + + die "ERROR: Missing list.\n" + unless defined $list; + die "ERROR: Invalid list [$list].\n" + unless ($list =~ /^[\s?\-?\d\,?\s?]+$/); + + $list =~ s/\s//g; + $list = [ split /\,/, $list ]; + + my @smallest_neighbour = (0); + foreach my $i (1 .. $#$list) { + my $min = min( map { $list->[$_] } 0..$i-1 ); + push @smallest_neighbour, ($min < $list->[$i])?($min):(0); + } + + return \@smallest_neighbour; +} diff --git a/challenge-073/mohammad-anwar/perl/ch-2a.pl b/challenge-073/mohammad-anwar/perl/ch-2a.pl new file mode 100755 index 0000000000..1095888127 --- /dev/null +++ b/challenge-073/mohammad-anwar/perl/ch-2a.pl @@ -0,0 +1,51 @@ +#!/usr/bin/perl + +# +# Perl Weekly Challenge - 073 +# +# Task #2: Smallest Neighbour +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +package SmallestNeighbour; + +use Moo; +use List::Util qw(min); + +sub fetch { + my ($self, $list) = @_; + + die "ERROR: Missing list.\n" + unless defined $list; + die "ERROR: Invalid list [$list].\n" + unless ($list =~ /^[\s?\-?\d\,?\s?]+$/); + + $list =~ s/\s//g; + $list = [ split /\,/, $list ]; + + my @smallest_neighbour = (0); + foreach my $i (1 .. $#$list) { + my $min = min( map { $list->[$_] } 0..$i-1 ); + push @smallest_neighbour, ($min < $list->[$i])?($min):(0); + } + + return \@smallest_neighbour; +} + +package main; + +use Test2::V0 -target => 'SmallestNeighbour'; + +my %test_cases = ( + "7, 8, 3, 12, 10" => "0, 7, 0, 3, 3", + "0, 1, 5, 2, 3" => "0, 0, 0, 0, 0", + "1, -2, 7, 5, -4" => "0, 0, -2, -2, 0", +); + +foreach my $list (sort keys %test_cases) { + my $min = join ", ", @{$CLASS->fetch($list)}; + is $min, $test_cases{$list}, "testing list $list"; +} + +done_testing; diff --git a/challenge-073/mohammad-anwar/raku/ch-1.raku b/challenge-073/mohammad-anwar/raku/ch-1.raku new file mode 100755 index 0000000000..dbcdfa49ab --- /dev/null +++ b/challenge-073/mohammad-anwar/raku/ch-1.raku @@ -0,0 +1,40 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 073 +# +# Task #1: Min Sliding Window +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +use v6.d; + +sub MAIN(Str :$A = "1, 5, 0, 2, 9, 3, 7, 6, 4, 8", + Int :$S = 3) { + min-sliding-window($A, $S).join(", ").say; +} + +sub min-sliding-window(Str $list is copy, Int $size) { + + die "ERROR: Invalid list [$list].\n" + unless $list ~~ /^[\-?\d\,?\s?]+$/; + + say $list; + $list ~~ s:g/\s//; + my $l = [ $list.split(',') ]; + + die "ERROR: Invalid size [$size].\n" + unless $size >= 2 && $size - 1 <= $l.elems; + + my $index = 0; + my @min-sliding-window = Empty; + + while $index + $size - 1 < $l.elems { + my $window = $l.[$index .. $index + $size - 1].map: { .Int }; + @min-sliding-window.push: min($window); + $index++; + } + + return @min-sliding-window; +} diff --git a/challenge-073/mohammad-anwar/raku/ch-1a.raku b/challenge-073/mohammad-anwar/raku/ch-1a.raku new file mode 100755 index 0000000000..7f513cef58 --- /dev/null +++ b/challenge-073/mohammad-anwar/raku/ch-1a.raku @@ -0,0 +1,55 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 073 +# +# Task #1: Min Sliding Window +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +use Test; + +my $list = "1, 5, 0, 2, 9, 3, 7, 6, 4, 8"; +my %test-cases = ( + 2 => "1, 0, 0, 2, 3, 3, 6, 4, 4", + 3 => "0, 0, 0, 2, 3, 3, 4, 4", + 4 => "0, 0, 0, 2, 3, 3, 4", + 5 => "0, 0, 0, 2, 3, 3", + 6 => "0, 0, 0, 2, 3", + 7 => "0, 0, 0, 2", + 8 => "0, 0, 0", + 9 => "0, 0", + 10 => "0", +); + +for %test-cases.keys.sort({ $^a <=> $^b }) -> $size { + is min-sliding-window($list, $size.Int).join(", "), + %test-cases{$size}, + "testing size $size"; +} + +done-testing; + +sub min-sliding-window(Str $list is copy, Int $size) { + + die "ERROR: Invalid list [$list].\n" + unless $list ~~ /^[\-?\d\,?\s?]+$/; + + $list ~~ s:g/\s//; + my $l = [ $list.split(',') ]; + + die "ERROR: Invalid size [$size].\n" + unless $size >= 2 && $size - 1 <= $l.elems; + + my $index = 0; + my @min-sliding-window = Empty; + + while $index + $size - 1 < $l.elems { + my $window = $l.[$index .. $index + $size - 1].map: { .Int }; + @min-sliding-window.push: min($window); + $index++; + } + + return @min-sliding-window; +} diff --git a/challenge-073/mohammad-anwar/raku/ch-2.raku b/challenge-073/mohammad-anwar/raku/ch-2.raku new file mode 100755 index 0000000000..ba99810962 --- /dev/null +++ b/challenge-073/mohammad-anwar/raku/ch-2.raku @@ -0,0 +1,33 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 073 +# +# Task #2: Smallest Neighbour +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +use v6.d; + +sub MAIN(Str $list = "7, 8, 3, 12, 10") { + say $list; + smallest-neighbour($list).join(', ').say; +} + +sub smallest-neighbour(Str $list is copy) { + + die "ERROR: Invalid list [$list].\n" + unless $list ~~ /^[\s?\-?\d\,?\s?]+$/; + + $list ~~ s:g/\s//; + my $l = [ $list.split(',') ]; + + my @smallest_neighbour = 0; + for 1 .. $l.elems - 1 -> $i { + my $min = min( $l.[0 .. $i - 1].map: { .Int } ); + @smallest_neighbour.push: ($min < $l.[$i]) ?? ($min) !! (0); + } + + return @smallest_neighbour; +} diff --git a/challenge-073/mohammad-anwar/raku/ch-2a.raku b/challenge-073/mohammad-anwar/raku/ch-2a.raku new file mode 100755 index 0000000000..99ee421ae5 --- /dev/null +++ b/challenge-073/mohammad-anwar/raku/ch-2a.raku @@ -0,0 +1,42 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 073 +# +# Task #2: Smallest Neighbour +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 +# + +use Test; + +my %test-cases = ( + "7, 8, 3, 12, 10" => "0, 7, 0, 3, 3", + "0, 1, 5, 2, 3" => "0, 0, 0, 0, 0", + "1, -2, 7, 5, -4" => "0, 0, -2, -2, 0", +); + +for %test-cases.keys.sort -> $list { + is smallest-neighbour($list).join(', '), + %test-cases{$list}, + "testing list $list"; +} + +done-testing; + +sub smallest-neighbour(Str $list is copy) { + + die "ERROR: Invalid list [$list].\n" + unless $list ~~ /^[\s?\-?\d\,?\s?]+$/; + + $list ~~ s:g/\s//; + my $l = [ $list.split(',') ]; + + my @smallest_neighbour = 0; + for 1 .. $l.elems - 1 -> $i { + my $min = min( $l.[0 .. $i - 1].map: { .Int } ); + @smallest_neighbour.push: ($min < $l.[$i]) ?? ($min) !! (0); + } + + return @smallest_neighbour; +} diff --git a/challenge-073/mohammad-anwar/swift/ch-1.swift b/challenge-073/mohammad-anwar/swift/ch-1.swift new file mode 100755 index 0000000000..0022d6bd63 --- /dev/null +++ b/challenge-073/mohammad-anwar/swift/ch-1.swift @@ -0,0 +1,101 @@ +import Foundation + +/* + +Perl Weekly Challenge - 073 + +Task #1: Min Sliding Window + +https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 + +*/ + +enum ParamError: Error { + case missingList + case missingSize + case invalidList + case invalidSize +} + +do { + let paramCount:Int = Int(CommandLine.argc) + + if paramCount <= 1 { + throw ParamError.missingList + } + + if paramCount <= 2 { + throw ParamError.missingSize + } + + let list:String = CommandLine.arguments[1] + let size:Int = Int(CommandLine.arguments[2])! + + if isValidList(list) { + let array = list.components(separatedBy: ", ") + + if size >= 2 && size <= array.count { + var index:Int = 0; + var minSlidingWindow = [Int](); + while index + size - 1 < array.count { + let start:Int = index + let stop:Int = index + size - 1 + let min:Int? = findMin(array, start, stop) + minSlidingWindow.append(min!) + index += 1 + } + + print(array) + print(minSlidingWindow) + } + else { + throw ParamError.invalidSize + } + } + else { + throw ParamError.invalidList + } +} +catch ParamError.missingList { + print("Missing list.") +} +catch ParamError.missingSize { + print("Missing size.") +} +catch ParamError.invalidList { + print("Invalid list.") +} +catch ParamError.invalidSize { + print("Invalid size.") +} +catch let error { + print(error) +} + +// +// +// Functions + +func isValidList(_ list:String) -> Bool { + + let pattern = "^[\\-?\\d\\,?\\s?]+$" + let regex = try! NSRegularExpression(pattern: pattern) + let range = NSRange(location: 0, length: list.utf16.count) + + if regex.firstMatch(in: list, options: [], range: range) != nil { + return true + } + else { + return false + } +} + +func findMin(_ array: [String], _ start:Int, _ stop:Int) -> Int { + + var window = [Int]() + for i in start...stop { + window.append(Int(array[i])!) + } + + return window.min()! +} diff --git a/challenge-073/mohammad-anwar/swift/ch-2.swift b/challenge-073/mohammad-anwar/swift/ch-2.swift new file mode 100755 index 0000000000..b9394e01f6 --- /dev/null +++ b/challenge-073/mohammad-anwar/swift/ch-2.swift @@ -0,0 +1,89 @@ +import Foundation + +/* + +Perl Weekly Challenge - 073 + +Task #2: Smallest Neighbour + +https://perlweeklychallenge.org/blog/perl-weekly-challenge-073 + +*/ + +enum ParamError: Error { + case missingList + case invalidList +} + +do { + let paramCount:Int = Int(CommandLine.argc) + + if paramCount <= 1 { + throw ParamError.missingList + } + + var list:String = CommandLine.arguments[1] + + if isValidList(list) { + list = list.replacingOccurrences(of: " ", with: "", options: .literal, range: nil) + let array = list.components(separatedBy: ",") + + var smallestNeighbour = [Int]() + smallestNeighbour.append(0) + + for i in 1..<array.count { + let limit:Int = i - 1 + let min:Int? = findMin(array, limit, Int(array[i])!) + smallestNeighbour.append(min!) + } + + print(array) + print(smallestNeighbour) + } + else { + throw ParamError.invalidList + } +} +catch ParamError.missingList { + print("Missing list.") +} +catch ParamError.invalidList { + print("Invalid list.") +} +catch let error { + print(error) +} + +// +// +// Functions + +func isValidList(_ list:String) -> Bool { + + let pattern = "^[\\s?\\-?\\d\\,?\\s?]+$" + let regex = try! NSRegularExpression(pattern: pattern) + let range = NSRange(location: 0, length: list.utf16.count) + + if regex.firstMatch(in: list, options: [], range: range) != nil { + return true + } + else { + return false + } +} + +func findMin(_ array: [String], _ limit:Int, _ current:Int) -> Int { + + var window = [Int]() + for i in 0...limit { + window.append(Int(array[i])!) + } + + let min:Int = window.min()! + if min < current { + return min + } + else { + return 0 + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 11d75d65b8..6b8a017099 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,9 +1,90 @@ { + "legend" : { + "enabled" : 0 + }, + "title" : { + "text" : "Perl Weekly Challenge - 073" + }, + "series" : [ + { + "name" : "Perl Weekly Challenge - 073", + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov", + "y" : 3 + }, + { + "y" : 2, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "y" : 2, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", + "y" : 2 + }, + { + "y" : 4, + "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar" + }, + { + "name" : "Roger Bell_West", + "y" : 4, + "drilldown" : "Roger Bell_West" + }, + { + "drilldown" : "Shawn Wagner", + "name" : "Shawn Wagner", + "y" : 2 + }, + { + "y" : 2, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + } + ] + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 8] Last updated at 2020-08-10 11:13:09 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "chart" : { + "type" : "column" + }, + "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/>" + }, "drilldown" : { "series" : [ { "name" : "Andrew Shitov", - "id" : "Andrew Shitov", "data" : [ [ "Raku", @@ -13,40 +94,41 @@ "Blog", 1 ] - ] + ], + "id" : "Andrew Shitov" }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] ], - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { "name" : "Mark Anderson", + "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "id" : "Mark Anderson" + ] }, { - "name" : "Markus Holzer", "id" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Markus Holzer" }, { - "id" : "Roger Bell_West", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -57,105 +139,42 @@ 2 ] ], - "name" : "Roger Bell_West" + "name" : "Mohammad S Anwar" }, { + "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", 2 + ], + [ + "Raku", + 2 ] - ], + ] + }, + { + "name" : "Shawn Wagner", "id" : "Shawn Wagner", - "name" : "Shawn Wagner" + "data" : [ + [ + "Perl", + 2 + ] + ] }, { - "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], + "id" : "Simon Proctor", "name" : "Simon Proctor" } ] - }, - "legend" : { - "enabled" : 0 - }, - "chart" : { - "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "subtitle" : { - "text" : "[Champions: 7] Last updated at 2020-08-10 10:59:58 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "Perl Weekly Challenge - 073" - }, - "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/>" - }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 073", - "colorByPoint" : 1, - "data" : [ - { - "name" : "Andrew Shitov", - "y" : 3, - "drilldown" : "Andrew Shitov" - }, - { - "name" : "Dave Jacoby", - "y" : 2, - "drilldown" : "Dave Jacoby" - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "drilldown" : "Markus Holzer", - "y" : 2, - "name" : "Markus Holzer" - }, - { - "drilldown" : "Roger Bell_West", - "y" : 4, - "name" : "Roger Bell_West" - }, - { - "drilldown" : "Shawn Wagner", - "name" : "Shawn Wagner", - "y" : 2 - }, - { - "drilldown" : "Simon Proctor", - "y" : 2, - "name" : "Simon Proctor" - } - ] - } - ] + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index ef8271b1e6..77272336e5 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,4 +1,7 @@ { + "legend" : { + "enabled" : "false" + }, "series" : [ { "data" : [ @@ -8,56 +11,53 @@ ], [ "Perl", - 2995 + 2997 ], [ "Raku", - 1951 + 1953 ] ], "dataLabels" : { + "color" : "#FFFFFF", "align" : "right", + "format" : "{point.y:.0f}", "y" : 10, - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, "rotation" : -90, "enabled" : "true", - "format" : "{point.y:.0f}", - "color" : "#FFFFFF" + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } }, "name" : "Contributions" } ], - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "subtitle" : { - "text" : "Last updated at 2020-08-10 10:59:58 GMT" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 }, "xAxis" : { - "type" : "category", "labels" : { "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" } - } + }, + "type" : "category" }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "subtitle" : { + "text" : "Last updated at 2020-08-10 11:13:09 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : "false" + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 8157ee5e15..df5e4822b5 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,405 +1,7 @@ { - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-08-10 10:59:58 GMT" - }, - "tooltip" : { - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : "true" - }, - "series" : [ - { - "data" : [ - { - "drilldown" : "001", - "y" : 142, - "name" : "#001" - }, - { - "name" : "#002", - "y" : 109, - "drilldown" : "002" - }, - { - "y" : 71, - |
