From 722527ed475e56e5717e60f8d3b52d9bbcef492c Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Wed, 10 May 2023 11:50:45 +0100 Subject: - Added solutions by Lubos Kolouch. - Added solutions by Robert DiCicco. - Added solutions by W. Luis Mochan. --- challenge-216/lubos-kolouch/perl/ch-1.pl | 31 + challenge-216/lubos-kolouch/perl/ch-2.pl | 63 ++ challenge-216/lubos-kolouch/python/ch-1.py | 22 + challenge-216/lubos-kolouch/python/ch-2.py | 60 ++ challenge-216/robert-dicicco/julia/ch-1.jl | 61 ++ challenge-216/robert-dicicco/perl/ch-1.pl | 61 ++ challenge-216/robert-dicicco/python/ch-1.py | 48 + challenge-216/robert-dicicco/raku/ch-1.raku | 58 ++ challenge-216/robert-dicicco/ruby/ch-1.rb | 60 ++ stats/pwc-current.json | 137 ++- stats/pwc-language-breakdown-summary.json | 74 +- stats/pwc-language-breakdown.json | 1282 +++++++++++++-------------- stats/pwc-leaders.json | 356 ++++---- stats/pwc-summary-1-30.json | 42 +- stats/pwc-summary-121-150.json | 110 +-- stats/pwc-summary-151-180.json | 34 +- stats/pwc-summary-181-210.json | 46 +- stats/pwc-summary-211-240.json | 54 +- stats/pwc-summary-241-270.json | 100 +-- stats/pwc-summary-271-300.json | 104 +-- stats/pwc-summary-31-60.json | 26 +- stats/pwc-summary-61-90.json | 106 +-- stats/pwc-summary-91-120.json | 112 +-- stats/pwc-summary.json | 46 +- 24 files changed, 1805 insertions(+), 1288 deletions(-) create mode 100644 challenge-216/lubos-kolouch/perl/ch-1.pl create mode 100644 challenge-216/lubos-kolouch/perl/ch-2.pl create mode 100644 challenge-216/lubos-kolouch/python/ch-1.py create mode 100644 challenge-216/lubos-kolouch/python/ch-2.py create mode 100644 challenge-216/robert-dicicco/julia/ch-1.jl create mode 100644 challenge-216/robert-dicicco/perl/ch-1.pl create mode 100644 challenge-216/robert-dicicco/python/ch-1.py create mode 100644 challenge-216/robert-dicicco/raku/ch-1.raku create mode 100644 challenge-216/robert-dicicco/ruby/ch-1.rb diff --git a/challenge-216/lubos-kolouch/perl/ch-1.pl b/challenge-216/lubos-kolouch/perl/ch-1.pl new file mode 100644 index 0000000000..c0b3f01798 --- /dev/null +++ b/challenge-216/lubos-kolouch/perl/ch-1.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl +use strict; +use warnings; + +sub matching_words { + my ($words, $reg) = @_; + $reg = uc($reg); + my %letters; + for my $letter (grep {/[A-Z]/} split //, $reg) { + $letters{$letter} = 1; + } + my @matches; + for my $word (@$words) { + my $upper_word = uc($word); + my $matched = 1; + for my $letter (keys %letters) { + unless (index($upper_word, $letter) != -1) { + $matched = 0; + last; + } + } + push @matches, $word if $matched; + } + return \@matches; +} + +my @words = ('job', 'james', 'bjorg'); +my $reg = '007 JB'; +my $matches = matching_words(\@words, $reg); +print "(", join(", ", map { "'$_'" } @$matches), ")\n"; + diff --git a/challenge-216/lubos-kolouch/perl/ch-2.pl b/challenge-216/lubos-kolouch/perl/ch-2.pl new file mode 100644 index 0000000000..f439b78eed --- /dev/null +++ b/challenge-216/lubos-kolouch/perl/ch-2.pl @@ -0,0 +1,63 @@ +use strict; +use warnings; +use List::Util qw(min); +use List::MoreUtils qw(any); + +sub min_stickers_needed { + my ( $stickers, $target ) = @_; + my %target_counts; + $target_counts{$_}++ for split //, $target; + my @stickers_counts = map { my %cnt; $cnt{$_}++ for split //, $_; \%cnt } @$stickers; + + # Filter out stickers that don't have any characters in common with the target word + my @filtered_stickers_counts = grep { + my $sticker = $_; + any { exists $sticker->{$_} } keys %target_counts + } @stickers_counts; + + return min_stickers_helper( \@filtered_stickers_counts, \%target_counts, 0 ); +} + +sub min_stickers_helper { + my ( $stickers_counts, $target_counts, $used_stickers ) = @_; + + return $used_stickers unless keys %$target_counts; + + my $min_stickers = 'inf'; + for my $sticker_counts (@$stickers_counts) { + + # Try to fulfill the remaining character requirements of the target word + my %new_target_counts = %$target_counts; + my $used_current_sticker = 0; + for my $char ( keys %$sticker_counts ) { + if ( $new_target_counts{$char} ) { + $new_target_counts{$char} -= $sticker_counts->{$char}; + delete $new_target_counts{$char} if $new_target_counts{$char} <= 0; + $used_current_sticker = 1; + } + } + + if ($used_current_sticker) { + $min_stickers = min( $min_stickers, + min_stickers_helper( $stickers_counts, \%new_target_counts, $used_stickers + 1 ) ); + } + } + + return $min_stickers == 'inf' ? -1 : $min_stickers; +} + +my $stickers = [ 'perl', 'raku', 'python' ]; +my $word = 'peon'; +print min_stickers_needed( $stickers, $word ), "\n"; # Output: 2 + +$stickers = [ 'love', 'hate', 'angry' ]; +$word = 'goat'; +print min_stickers_needed( $stickers, $word ), "\n"; # Output: 3 + +$stickers = [ 'come', 'nation', 'delta' ]; +$word = 'accommodation'; +print min_stickers_needed( $stickers, $word ), "\n"; # Output: 4 + +$stickers = [ 'come', 'country', 'delta' ]; +$word = 'accommodation'; +print min_stickers_needed( $stickers, $word ), "\n"; # Output: -1 diff --git a/challenge-216/lubos-kolouch/python/ch-1.py b/challenge-216/lubos-kolouch/python/ch-1.py new file mode 100644 index 0000000000..c52a4df31f --- /dev/null +++ b/challenge-216/lubos-kolouch/python/ch-1.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from typing import List + + +def matching_words(words: List[str], reg: str) -> List[str]: + reg = reg.upper() + letters = set(letter for letter in reg if letter.isalpha()) + matches = [] + for word in words: + upper_word = word.upper() + matched = all(letter in upper_word for letter in letters) + if matched: + matches.append(word) + return matches + + +words = ['job', 'james', 'bjorg'] +reg = '007 JB' +matches_list = matching_words(words, reg) +print("(", ", ".join(f"'{match}'" for match in matches_list), ")") diff --git a/challenge-216/lubos-kolouch/python/ch-2.py b/challenge-216/lubos-kolouch/python/ch-2.py new file mode 100644 index 0000000000..9cb331adf1 --- /dev/null +++ b/challenge-216/lubos-kolouch/python/ch-2.py @@ -0,0 +1,60 @@ +from collections import Counter +import sys + + +def min_stickers_needed(stickers, target): + target_counts = Counter(target) + stickers_counts = [Counter(sticker) for sticker in stickers] + + # Filter out stickers that don't have any characters in common with the target word + filtered_stickers_counts = [ + sticker + for sticker in stickers_counts + if any(sticker[char] > 0 for char in target_counts) + ] + + return min_stickers_helper(filtered_stickers_counts, target_counts, 0) + + +def min_stickers_helper(stickers_counts, target_counts, used_stickers): + if not target_counts: + return used_stickers + + min_stickers = sys.maxsize + for sticker_counts in stickers_counts: + # Try to fulfill the remaining character requirements of the target word + new_target_counts = target_counts.copy() + used_current_sticker = False + for char, count in sticker_counts.items(): + if new_target_counts[char] > 0: + new_target_counts[char] -= count + if new_target_counts[char] <= 0: + del new_target_counts[char] + used_current_sticker = True + + if used_current_sticker: + min_stickers = min( + min_stickers, + min_stickers_helper( + stickers_counts, new_target_counts, used_stickers + 1 + ), + ) + + return min_stickers if min_stickers != sys.maxsize else 0 + + +stickers = ["perl", "raku", "python"] +word = "peon" +print(min_stickers_needed(stickers, word)) # Output: 2 + +stickers = ["love", "hate", "angry"] +word = "goat" +print(min_stickers_needed(stickers, word)) # Output: 3 + +stickers = ["come", "nation", "delta"] +word = "accommodation" +print(min_stickers_needed(stickers, word)) # Output: 4 + +stickers = ["come", "country", "delta"] +word = "accommodation" +print(min_stickers_needed(stickers, word)) # Output: -1 diff --git a/challenge-216/robert-dicicco/julia/ch-1.jl b/challenge-216/robert-dicicco/julia/ch-1.jl new file mode 100644 index 0000000000..477f717ce3 --- /dev/null +++ b/challenge-216/robert-dicicco/julia/ch-1.jl @@ -0,0 +1,61 @@ +#!/usr/bin/env julia +#= +-------------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-05-08 +Challenge 216 Registration Number ( Julia ) +-------------------------------------------- +=# +using Printf + +words = [["abc", "abcd", "bcd", "AB1 2CD"], ["job", "james", "bjorg", "007 JB"], ["crack", "road", "rac", "C7 RA2"]] + +flag = 0 +out = [] + +function CheckWords(wd, rg) + arr = split(rg,"") + flag = 0 + for lett in arr + if ! occursin(lett, wd) + flag = 1 + end + end + if flag == 0 + push!(out, wd) + end +end + +for wds in words + global out + len = length(wds) + + reg = wds[end] + @printf("Input: @words = %s, \$reg = %s\n", wds[begin:end-1],reg) + r = r"0|1|2|3|4|5|6|7|8|9| " + reg = lowercase(replace(reg,r => "" )) + x = 1 + while x < len + CheckWords(wds[x], reg) + x += 1 + end + println("Output: ["*join(out,",")*"]\n") + out = [] +end + +#= +-------------------------------------------- +SAMPLE OUTPUT +julia .\Registration.jl +Input: @words = ["abc", "abcd", "bcd"], $reg = AB1 2CD +Output: [abcd] + +Input: @words = ["job", "james", "bjorg"], $reg = 007 JB +Output: [job,bjorg] + +Input: @words = ["crack", "road", "rac"], $reg = C7 RA2 +Output: [crack,rac] +-------------------------------------------- +=# + + diff --git a/challenge-216/robert-dicicco/perl/ch-1.pl b/challenge-216/robert-dicicco/perl/ch-1.pl new file mode 100644 index 0000000000..4450672b23 --- /dev/null +++ b/challenge-216/robert-dicicco/perl/ch-1.pl @@ -0,0 +1,61 @@ +#!/usr/bin/env perl +=begin comment +-------------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-05-08 +Challenge 216 Registration Number ( Perl ) +-------------------------------------------- +=cut +use strict; +use warnings; +use feature 'say'; + +my @words = (['abc', 'abcd', 'bcd', 'AB1 2CD'], ['job', 'james', 'bjorg', '007 JB'], ['crack', 'road', 'rac', 'C7 RA2']); + +my @out = (); + +sub CheckWords { + my $wd = shift; # word to be checked + my $rg = shift; # registration + my @arr = split("",$rg); # split the registration into chars + my $flag = 0; # the match flag, set to 1 if reg char is not in word + foreach my $let (@arr) { + if ($wd !~ /$let/) { + $flag = 1; # set flag to 1 if no match + } + } + push(@out, $wd) if ($flag == 0); # save word if all match +} + +for (@words) { + my @wds = @{$_}; # get list of words + my $len = scalar @wds; # and its length + print("Input: @wds[0..($len-2)], "); + my $reg = $wds[$len - 1]; # registration is last entry in words + print(" \$reg = $reg\n"); + $reg =~ tr/A-Z/a-z/; # convert all to lower case + $reg =~ tr/0-9 //d; # remove spaces and numbers + for (my $x = 0; $x < $len - 1;$x++) { + CheckWords($wds[$x],$reg); + } + print("Output: @out\n\n"); + @out = (); + } + +=begin comment + -------------------------------------------- + SAMPLE OUTPUT +perl .\Registration.pl +Input: abc abcd bcd, $reg = AB1 2CD +Output: abcd + +Input: job james bjorg, $reg = 007 JB +Output: job bjorg + +Input: crack road rac, $reg = C7 RA2 +Output: crack rac +-------------------------------------------- +=cut + + + diff --git a/challenge-216/robert-dicicco/python/ch-1.py b/challenge-216/robert-dicicco/python/ch-1.py new file mode 100644 index 0000000000..1e3344bd90 --- /dev/null +++ b/challenge-216/robert-dicicco/python/ch-1.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python +# ------------------------------------------ +# AUTHOR: Robert DiCicco +# DATE : 2023-05-09 +# Challenge 216 Registration Number ( Python ) +# ------------------------------------------ + +words = [["abc", "abcd", "bcd", "AB1 2CD"], ["job", "james", "bjorg", "007 JB"], ["crack", "road", "rac", "C7 RA2"]] +out = [] + +def CheckWords(wd, rg): + flag = 0 + arr = [x for x in rg] + for lett in arr: + if wd.count(lett) == 0: + flag = 1 + if flag == 0: + out.append(wd) + +for wds in words: + wds_only = wds[0:-1] + reg = wds[-1] + print("Input: ",wds_only,", $reg = ", reg) + reg = reg.translate({ord(i): None for i in '1234567890 '}).lower() + x = 0 + cnt = len(wds) - 1 + while x < cnt: + CheckWords(wds[x],reg) + x += 1 + print("Output: ",out,"\n") + out = [] + +# ------------------------------------------ +# SAMPLE OUTPUT +# python .\Registration.py +# Input: ['abc', 'abcd', 'bcd'] , $reg = AB1 2CD +# Output: ['abcd'] + +# Input: ['job', 'james', 'bjorg'] , $reg = 007 JB +# Output: ['job', 'bjorg'] + +# Input: ['crack', 'road', 'rac'] , $reg = C7 RA2 +# Output: ['crack', 'rac'] +# ------------------------------------------ + + + + diff --git a/challenge-216/robert-dicicco/raku/ch-1.raku b/challenge-216/robert-dicicco/raku/ch-1.raku new file mode 100644 index 0000000000..3be62a7fea --- /dev/null +++ b/challenge-216/robert-dicicco/raku/ch-1.raku @@ -0,0 +1,58 @@ +#!/usr/bin/env raku +=begin comment +-------------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-05-08 +Challenge 216 Registration Number ( Raku ) +-------------------------------------------- +=end comment + +use v6; + +my @words = ('abc', 'abcd', 'bcd', 'AB1 2CD'), ('job', 'james', 'bjorg', '007 JB'), ('crack', 'road', 'rac', 'C7 RA2'); +my @out = (); + +sub CheckWords($wd, $rg) { + my @arr = $rg.comb; + my $flag = 0; + for (@arr) -> $let { + if ($wd !~~ /$let/) { + $flag = 1; # set flag to 1 if no match + } + } + @out.push($wd) if $flag == 0; +} + + +for (@words) -> @wds { + my $reg = @wds.[*-1]; + my $cnt = @wds.elems - 2; + my @wds_only = @wds[0..$cnt]; + print "Input: [",@wds_only,"] \$reg = ",$reg,"\n"; + $reg ~~ tr/A..Z/a..z/; + $reg ~~ s:g/\d|\s//; # remove spaces and numbers + my $x = 0; + while $x <= $cnt { + CheckWords(@wds[$x], $reg); + $x += 1; + } + print("Output: ",@out,"\n\n"); + @out = (); +} + +=begin comment +-------------------------------------------- +SAMPLE OUTPUT +raku .\Registration.rk +Input: [abc abcd bcd] $reg = AB1 2CD +Output: abcd + +Input: [job james bjorg] $reg = 007 JB +Output: job bjorg + +Input: [crack road rac] $reg = C7 RA2 +Output: crack rac +-------------------------------------------- +=end comment + + diff --git a/challenge-216/robert-dicicco/ruby/ch-1.rb b/challenge-216/robert-dicicco/ruby/ch-1.rb new file mode 100644 index 0000000000..fe5cb76e9d --- /dev/null +++ b/challenge-216/robert-dicicco/ruby/ch-1.rb @@ -0,0 +1,60 @@ +#!/usr/bin/env ruby +=begin +-------------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-05-08 +Challenge 216 Registration Number ( Ruby ) +-------------------------------------------- +=end + +@words = [['abc', 'abcd', 'bcd', 'AB1 2CD'], ['job', 'james', 'bjorg', '007 JB'], ['crack', 'road', 'rac', 'C7 RA2']] + +$out = [] +def CheckWords(wd, rg) + arr = rg.split(//) + flag = 0 + arr.each do |lett| + if ! wd.include? lett + flag = 1; # set flag to 1 if no match + end + end + if flag == 0 + $out.push(wd) + end +end + +@words.each do |wds| + $out = [] + len = wds.length() + wds_only = wds.slice(0,len-1) + reg = wds.slice(-1,1) + reg = reg.to_s + reg.delete! '[]"0123456789 ' + reg = reg.to_s.tr('A-Z', 'a-z') + puts("Input: @words = #{wds_only} $reg = #{reg}") + x = 0 + cnt = len - 2 + while x <= cnt + CheckWords(wds_only[x], reg) + x += 1 + end + puts("Output: #{$out}") + puts('') +end + +=begin +-------------------------------------------- +SAMPLE OUTPUT +ruby .\Registration.rb +Input: @words = ["abc", "abcd", "bcd"] $reg = abcd +Output: ["abcd"] + +Input: @words = ["job", "james", "bjorg"] $reg = jb +Output: ["job", "bjorg"] + +Input: @words = ["crack", "road", "rac"] $reg = cra +Output: ["crack", "rac"] +-------------------------------------------- +=end + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index af1b112af2..6b9ec7f631 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,14 +1,16 @@ { - "title" : { - "text" : "The Weekly Challenge - 216" + "chart" : { + "type" : "column" }, "series" : [ { + "name" : "The Weekly Challenge - 216", + "colorByPoint" : 1, "data" : [ { - "y" : 2, + "drilldown" : "Feng Chang", "name" : "Feng Chang", - "drilldown" : "Feng Chang" + "y" : 2 }, { "name" : "James Smith", @@ -20,39 +22,60 @@ "name" : "Leo Manfredi", "drilldown" : "Leo Manfredi" }, + { + "name" : "Lubos Kolouch", + "y" : 2, + "drilldown" : "Lubos Kolouch" + }, { "name" : "Luca Ferrari", "y" : 8, "drilldown" : "Luca Ferrari" }, { - "y" : 2, + "drilldown" : "Mark Anderson", "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" + "y" : 2 }, { + "drilldown" : "Niels van Dijke", "name" : "Niels van Dijke", - "y" : 1, - "drilldown" : "Niels van Dijke" + "y" : 1 + }, + { + "drilldown" : "Robert DiCicco", + "y" : 2, + "name" : "Robert DiCicco" + }, + { + "y" : 3, + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" } - ], - "name" : "The Weekly Challenge - 216", - "colorByPoint" : 1 + ] } ], + "title" : { + "text" : "The Weekly Challenge - 216" + }, + "legend" : { + "enabled" : 0 + }, + "xAxis" : { + "type" : "category" + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } + "tooltip" : { + "headerFormat" : "{series.name}
", + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
" + }, + "subtitle" : { + "text" : "[Champions: 9] Last updated at 2023-05-10 10:48:09 GMT" }, "drilldown" : { "series" : [ @@ -67,6 +90,8 @@ ] }, { + "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", @@ -76,20 +101,28 @@ "Blog", 1 ] - ], - "id" : "James Smith", - "name" : "James Smith" + ] }, { - "id" : "Leo Manfredi", "data" : [ [ "Perl", 1 ] ], + "id" : "Leo Manfredi", "name" : "Leo Manfredi" }, + { + "id" : "Lubos Kolouch", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Lubos Kolouch" + }, { "name" : "Luca Ferrari", "id" : "Luca Ferrari", @@ -106,41 +139,61 @@ }, { "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { + "id" : "Niels van Dijke", "data" : [ [ "Perl", 1 ] ], - "id" : "Niels van Dijke", "name" : "Niels van Dijke" + }, + { + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 1 + ] + ], + "id" : "Robert DiCicco", + "name" : "Robert DiCicco" + }, + { + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ] } ] }, - "subtitle" : { - "text" : "[Champions: 6] Last updated at 2023-05-09 20:20:47 GMT" - }, - "legend" : { - "enabled" : 0 - }, - "xAxis" : { - "type" : "category" - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1 + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 84ce57a54b..80152053f9 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,6 +1,21 @@ { - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2023]" + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Last updated at 2023-05-10 10:48:09 GMT" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, "yAxis" : { "title" : { @@ -10,54 +25,39 @@ }, "series" : [ { - "name" : "Contributions", - "dataLabels" : { - "rotation" : -90, - "enabled" : "true", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "y" : 10, - "format" : "{point.y:.0f}", - "align" : "right", - "color" : "#FFFFFF" - }, "data" : [ [ "Blog", - 3556 + 3557 ], [ "Perl", - 10980 + 10985 ], [ "Raku", - 6370 + 6371 ] - ] + ], + "dataLabels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "format" : "{point.y:.0f}", + "y" : 10, + "enabled" : "true", + "color" : "#FFFFFF", + "align" : "right", + "rotation" : -90 + }, + "name" : "Contributions" } ], - "subtitle" : { - "text" : "Last updated at 2023-05-09 20:20:47 GMT" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "legend" : { - "enabled" : "false" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, "chart" : { "type" : "column" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2023]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 593056121a..96435a005a 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,39 +1,31 @@ { - "title" : { - "text" : "The Weekly Challenge Language" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "series" : [ { "data" : [ { + "drilldown" : "001", "name" : "#001", - "y" : 163, - "drilldown" : "001" + "y" : 163 }, { - "drilldown" : "002", + "name" : "#002", "y" : 129, - "name" : "#002" + "drilldown" : "002" }, { - "drilldown" : "003", "y" : 87, - "name" : "#003" + "name" : "#003", + "drilldown" : "003" }, { - "drilldown" : "004", + "name" : "#004", "y" : 103, - "name" : "#004" + "drilldown" : "004" }, { - "drilldown" : "005", "name" : "#005", - "y" : 80 + "y" : 80, + "drilldown" : "005" }, { "y" : 61, @@ -41,9 +33,9 @@ "drilldown" : "006" }, { - "drilldown" : "007", "y" : 69, - "name" : "#007" + "name" : "#007", + "drilldown" : "007" }, { "name" : "#008", @@ -67,43 +59,43 @@ }, { "drilldown" : "012", - "name" : "#012", - "y" : 92 + "y" : 92, + "name" : "#012" }, { - "drilldown" : "013", + "y" : 87, "name" : "#013", - "y" : 87 + "drilldown" : "013" }, { - "name" : "#014", "y" : 102, + "name" : "#014", "drilldown" : "014" }, { + "drilldown" : "015", "name" : "#015", - "y" : 101, - "drilldown" : "015" + "y" : 101 }, { - "y" : 72, "name" : "#016", + "y" : 72, "drilldown" : "016" }, { + "drilldown" : "017", "name" : "#017", - "y" : 86, - "drilldown" : "017" + "y" : 86 }, { + "drilldown" : "018", "name" : "#018", - "y" : 83, - "drilldown" : "018" + "y" : 83 }, { - "drilldown" : "019", + "y" : 105, "name" : "#019", - "y" : 105 + "drilldown" : "019" }, { "drilldown" : "020", @@ -116,19 +108,19 @@ "drilldown" : "021" }, { - "name" : "#022", + "drilldown" : "022", "y" : 72, - "drilldown" : "022" + "name" : "#022" }, { - "drilldown" : "023", "name" : "#023", - "y" : 101 + "y" : 101, + "drilldown" : "023" }, { - "drilldown" : "024", "name" : "#024", - "y" : 77 + "y" : 77, + "drilldown" : "024" }, { "drilldown" : "025", @@ -141,14 +133,14 @@ "drilldown" : "026" }, { + "drilldown" : "027", "name" : "#027", - "y" : 64, - "drilldown" : "027" + "y" : 64 }, { - "drilldown" : "028", "name" : "#028", - "y" : 82 + "y" : 82, + "drilldown" : "028" }, { "y" : 83, @@ -156,9 +148,9 @@ "drilldown" : "029" }, { - "drilldown" : "030", "name" : "#030", - "y" : 121 + "y" : 121, + "drilldown" : "030" }, { "drilldown" : "031", @@ -166,99 +158,99 @@ "y" : 93 }, { - "drilldown" : "032", "name" : "#032", - "y" : 98 + "y" : 98, + "drilldown" : "032" }, { - "name" : "#033", "y" : 114, + "name" : "#033", "drilldown" : "033" }, { - "y" : 70, "name" : "#034", + "y" : 70, "drilldown" : "034" }, { "drilldown" : "035", - "y" : 68, - "name" : "#035" + "name" : "#035", + "y" : 68 }, { "drilldown" : "036", - "y" : 70, - "name" : "#036" + "name" : "#036", + "y" : 70 }, { - "y" : 70, "name" : "#037", + "y" : 70, "drilldown" : "037" }, { - "y" : 74, + "drilldown" : "038", "name" : "#038", - "drilldown" : "038" + "y" : 74 }, { - "drilldown" : "039", + "name" : "#039", "y" : 68, - "name" : "#039" + "drilldown" : "039" }, { - "y" : 77, + "drilldown" : "040", "name" : "#040", - "drilldown" : "040" + "y" : 77 }, { "drilldown" : "041", - "y" : 80, - "name" : "#041" + "name" : "#041", + "y" : 80 }, { - "drilldown" : "042", "y" : 98, - "name" : "#042" + "name" : "#042", + "drilldown" : "042" }, { - "name" : "#043", + "drilldown" : "043", "y" : 72, - "drilldown" : "043" + "name" : "#043" }, { - "y" : 90, "name" : "#044", + "y" : 90, "drilldown" : "044" }, { - "name" : "#045", "y" : 102, + "name" : "#045", "drilldown" : "045" }, { - "drilldown" : "046", "name" : "#046", - "y" : 93 + "y" : 93, + "drilldown" : "046" }, { + "drilldown" : "047", "name" : "#047", - "y" : 88, - "drilldown" : "047" + "y" : 88 }, { - "y" : 112, + "drilldown" : "048", "name" : "#048", - "drilldown" : "048" + "y" : 112 }, { - "y" : 93, "name" : "#049", + "y" : 93, "drilldown" : "049" }, { "drilldown" : "050", - "name" : "#050", - "y" : 104 + "y" : 104, + "name" : "#050" }, { "name" : "#051", @@ -266,29 +258,29 @@ "drilldown" : "051" }, { - "name" : "#052", + "drilldown" : "052", "y" : 93, - "drilldown" : "052" + "name" : "#052" }, { - "drilldown" : "053", "name" : "#053", - "y" : 105 + "y" : 105, + "drilldown" : "053" }, { - "y" : 107, "name" : "#054", + "y" : 107, "drilldown" : "054" }, { + "drilldown" : "055", "y" : 92, - "name" : "#055", - "drilldown" : "055" + "name" : "#055" }, { - "drilldown" : "056", "name" : "#056", - "y" : 99 + "y" : 99, + "drilldown" : "056" }, { "drilldown" : "057", @@ -296,23 +288,23 @@ "y" : 86 }, { - "drilldown" : "058", "name" : "#058", - "y" : 71 + "y" : 71, + "drilldown" : "058" }, { "drilldown" : "059", - "name" : "#059", - "y" : 93 + "y" : 93, + "name" : "#059" }, { - "drilldown" : "060", + "y" : 89, "name" : "#060", - "y" : 89 + "drilldown" : "060" }, { - "name" : "#061", "y" : 85, + "name" : "#061", "drilldown" : "061" }, { @@ -321,14 +313,14 @@ "drilldown" : "062" }, { - "drilldown" : "063", "y" : 93, - "name" : "#063" + "name" : "#063", + "drilldown" : "063" }, { "drilldown" : "064", - "name" : "#064", - "y" : 84 + "y" : 84, + "name" : "#064" }, { "drilldown" : "065", @@ -336,9 +328,9 @@ "y" : 77 }, { - "name" : "#066", + "drilldown" : "066", "y" : 88, - "drilldown" : "066" + "name" : "#066" }, { "name" : "#067", @@ -346,19 +338,19 @@ "drilldown" : "067" }, { - "y" : 77, "name" : "#068", + "y" : 77, "drilldown" : "068" }, { "drilldown" : "069", - "name" : "#069", - "y" : 85 + "y" : 85, + "name" : "#069" }, { - "drilldown" : "070", "y" : 98, - "name" : "#070" + "name" : "#070", + "drilldown" : "070" }, { "drilldown" : "071", @@ -371,14 +363,14 @@ "name" : "#072" }, { - "y" : 112, "name" : "#073", + "y" : 112, "drilldown" : "073" }, { - "y" : 117, + "drilldown" : "074", "name" : "#074", - "drilldown" : "074" + "y" : 117 }, { "drilldown" : "075", @@ -386,28 +378,28 @@ "y" : 117 }, { - "y" : 101, + "drilldown" : "076", "name" : "#076", - "drilldown" : "076" + "y" : 101 }, { + "drilldown" : "077", "y" : 100, - "name" : "#077", - "drilldown" : "077" + "name" : "#077" }, { + "drilldown" : "078", "name" : "#078", - "y" : 127, - "drilldown" : "078" + "y" : 127 }, { - "drilldown" : "079", + "name" : "#079", "y" : 122, - "name" : "#079" + "drilldown" : "079" }, { - "name" : "#080", "y" : 127, + "name" : "#080", "drilldown" : "080" }, { @@ -416,9 +408,9 @@ "drilldown" : "081" }, { - "drilldown" : "082", "y" : 114, - "name" : "#082" + "name" : "#082", + "drilldown" : "082" }, { "name" : "#083", @@ -431,19 +423,19 @@ "drilldown" : "084" }, { - "drilldown" : "085", + "name" : "#085", "y" : 114, - "name" : "#085" + "drilldown" : "085" }, { - "drilldown" : "086", "y" : 104, - "name" : "#086" + "name" : "#086", + "drilldown" : "086" }, { "drilldown" : "087", - "name" : "#087", - "y" : 101 + "y" : 101, + "name" : "#087" }, { "y" : 121, @@ -451,19 +443,19 @@ "drilldown" : "088" }, { + "drilldown" : "089", "y" : 113, - "name" : "#089", - "drilldown" : "089" + "name" : "#089" }, { - "y" : 113, + "drilldown" : "090", "name" : "#090", - "drilldown" : "090" + "y" : 113 }, { - "y" : 108, + "drilldown" : "091", "name" : "#091", - "drilldown" : "091" + "y" : 108 }, { "drilldown" : "092", @@ -471,39 +463,39 @@ "name" : "#092" }, { - "name" : "#093", "y" : 87, + "name" : "#093", "drilldown" : "093" }, { "drilldown" : "094", - "y" : 87, - "name" : "#094" + "name" : "#094", + "y" : 87 }, { - "name" : "#095", "y" : 108, + "name" : "#095", "drilldown" : "095" }, { - "drilldown" : "096", "y" : 108, - "name" : "#096" + "name" : "#096", + "drilldown" : "096" }, { - "drilldown" : "097", "name" : "#097", - "y" : 111 + "y" : 111, + "drilldown" : "097" }, { - "drilldown" : "098", "name" : "#098", - "y" : 108 + "y" : 108, + "drilldown" : "098" }, { - "drilldown" : "099", + "y" : 97, "name" : "#099", - "y" : 97 + "drilldown" : "099" }, { "drilldown" : "100", @@ -516,9 +508,9 @@ "drilldown" : "101" }, { - "name" : "#102", + "drilldown" : "102", "y" : 90, - "drilldown" : "102" + "name" : "#102" }, { "name" : "#103", @@ -531,14 +523,14 @@ "drilldown" : "104" }, { - "drilldown" : "105", "y" : 75, - "name" : "#105" + "name" : "#105", + "drilldown" : "105" }, { "drilldown" : "106", - "y" : 97, - "name" : "#106" + "name" : "#106", + "y" : 97 }, { "y" : 90, @@ -546,39 +538,39 @@ "drilldown" : "107" }, { - "drilldown" : "108", + "name" : "#108", "y" : 94, - "name" : "#108" + "drilldown" : "108" }, { - "drilldown" : "109", "y" : 107, - "name" : "#109" + "name" : "#109", + "drilldown" : "109" }, { - "y" : 108, "name" : "#110", + "y" : 108, "drilldown" : "110" }, { - "name" : "#111", + "drilldown" : "111", "y" : 91, - "drilldown" : "111" + "name" : "#111" }, { - "y" : 92, + "drilldown" : "112", "name" : "#112", - "drilldown" : "112" + "y" : 92 }, { - "drilldown" : "113", "y" : 92, - "name" : "#113" + "name" : "#113", + "drilldown" : "113" }, { + "drilldown" : "114", "name" : "#114", - "y" : 108, - "drilldown" : "114" + "y" : 108 }, { "y" : 96, @@ -586,29 +578,29 @@ "drilldown" : "115" }, { - "y" : 95, "name" : "#116", + "y" : 95, "drilldown" : "116" }, { - "drilldown" : "117", + "y" : 97, "name" : "#117", - "y" : 97 + "drilldown" : "117" }, { - "drilldown" : "118", + "y" : 83, "name" : "#118", - "y" : 83 + "drilldown" : "118" }, { - "name" : "#119", + "drilldown" : "119", "y" : 125, - "drilldown" : "119" + "name" : "#119" }, { + "drilldown" : "120", "name" : "#120", - "y" : 116, - "drilldown" : "120" + "y" : 116 }, { "y" : 92, @@ -616,19 +608,19 @@ "drilldown" : "121" }, { - "drilldown" : "122", + "name" : "#122", "y" : 110, - "name" : "#122" + "drilldown" : "122" }, { - "y" : 105, + "drilldown" : "123", "name" : "#123", - "drilldown" : "123" + "y" : 105 }, { - "drilldown" : "124", "y" : 85, - "name" : "#124" + "name" : "#124", + "drilldown" : "124" }, { "name" : "#125", @@ -637,8 +629,8 @@ }, { "drilldown" : "126", - "y" : 113, - "name" : "#126" + "name" : "#126", + "y" : 113 }, { "drilldown" : "127", @@ -647,13 +639,13 @@ }, { "drilldown" : "128", - "name" : "#128", - "y" : 71 + "y" : 71, + "name" : "#128" }, { - "drilldown" : "129", "y" : 50, - "name" : "#129" + "name" : "#129", + "drilldown" : "129" }, { "y" : 73, @@ -661,9 +653,9 @@ "drilldown" : "130" }, { - "drilldown" : "131", "y" : 91, - "name" : "#131" + "name" : "#131", + "drilldown" : "131" }, { "name" : "#132", @@ -671,44 +663,44 @@ "drilldown" : "132" }, { - "drilldown" : "133", + "name" : "#133", "y" : 95, - "name" : "#133" + "drilldown" : "133" }, { - "drilldown" : "134", "name" : "#134", - "y" : 94 + "y" : 94, + "drilldown" : "134" }, { + "drilldown" : "135", "y" : 104, - "name" : "#135", - "drilldown" : "135" + "name" : "#135" }, { - "drilldown" : "136", "name" : "#136", - "y" : 95 + "y" : 95, + "drilldown" : "136" }, { - "drilldown" : "137", "y" : 100, - "name" : "#137" + "name" : "#137", + "drilldown" : "137" }, { - "drilldown" : "138", + "name" : "#138", "y" : 102, - "name" : "#138" + "drilldown" : "138" }, { - "name" : "#139", + "drilldown" : "139", "y" : 97, - "drilldown" : "139" + "name" : "#139" }, { "drilldown" : "140", - "y" : 103, - "name" : "#140" + "name" : "#140", + "y" : 103 }, { "drilldown" : "141", @@ -717,13 +709,13 @@ }, { "drilldown" : "142", - "name" : "#142", - "y" : 83 + "y" : 83, + "name" : "#142" }, { + "drilldown" : "143", "y" : 83, - "name" : "#143", - "drilldown" : "143" + "name" : "#143" }, { "name" : "#144", @@ -731,24 +723,24 @@ "drilldown" : "144" }, { + "drilldown" : "145", "name" : "#145", - "y" : 94, - "drilldown" : "145" + "y" : 94 }, { + "drilldown" : "146", "y" : 106, - "name" : "#146", - "drilldown" : "146" + "name" : "#146" }, { - "drilldown" : "147", + "name" : "#147", "y" : 107, - "name" : "#147" + "drilldown" : "147" }, { + "drilldown" : "148", "y" : 92, - "name" : "#148", - "drilldown" : "148" + "name" : "#148" }, { "drilldown" : "149", @@ -756,24 +748,24 @@ "y" : 88 }, { + "drilldown" : "150", "name" : "#150", - "y" : 108, - "drilldown" : "150" + "y" : 108 }, { - "drilldown" : "151", + "y" : 77, "name" : "#151", - "y" : 77 + "drilldown" : "151" }, { + "drilldown" : "152", "y" : 80, - "name" : "#152", - "drilldown" : "152" + "name" : "#152" }, { - "y" : 97, + "drilldown" : "153", "name" : "#153", - "drilldown" : "153" + "y" : 97 }, { "drilldown" : "154", @@ -781,9 +773,9 @@ "name" : "#154" }, { - "drilldown" : "155", + "y" : 99, "name" : "#155", - "y" : 99 + "drilldown" : "155" }, { "y" : 98, @@ -791,39 +783,39 @@ "drilldown" : "156" }, { - "drilldown" : "157", "y" : 97, - "name" : "#157" + "name" : "#157", + "drilldown" : "157" }, { - "drilldown" : "158", + "name" : "#158", "y" : 107, - "name" : "#158" + "drilldown" : "158" }, { - "drilldown" : "159", + "name" : "#159", "y" : 92, - "name" : "#159" + "drilldown" : "159" }, { + "drilldown" : "160", "name" : "#160", - "y" : 121, - "drilldown" : "160" + "y" : 121 }, { - "drilldown" : "161", + "name" : "#161", "y" : 102, - "name" : "#161" + "drilldown" : "161" }, { - "y" : 93, "name" : "#162", + "y" : 93, "drilldown" : "162" }, { + "drilldown" : "163", "y" : 118, - "name" : "#163", - "drilldown" : "163" + "name" : "#163" }, { "drilldown" : "164", @@ -831,14 +823,14 @@ "y" : 120 }, { - "name" : "#165", "y" : 78, + "name" : "#165", "drilldown" : "165" }, { - "drilldown" : "166", + "name" : "#166", "y" : 79, - "name" : "#166" + "drilldown" : "166" }, { "name" : "#167", @@ -846,19 +838,19 @@ "drilldown" : "167" }, { + "drilldown" : "168", "name" : "#168", - "y" : 98, - "drilldown" : "168" + "y" : 98 }, { + "drilldown" : "169", "y" : 107, - "name" : "#169", - "drilldown" : "169" + "name" : "#169" }, { + "drilldown" : "170", "name" : "#170", - "y" : 102, - "drilldown" : "170" + "y" : 102 }, { "y" : 111, @@ -866,19 +858,19 @@ "drilldown" : "171" }, { - "name" : "#172", + "drilldown" : "172", "y" : 94, - "drilldown" : "172" + "name" : "#172" }, { + "drilldown" : "173", "y" : 111, - "name" : "#173", - "drilldown" : "173" + "name" : "#173" }, { - "drilldown" : "174", "y" : 101, - "name" : "#174" + "name" : "#174", + "drilldown" : "174" }, { "drilldown" : "175", @@ -886,9 +878,9 @@ "y" : 114 }, { + "drilldown" : "176", "y" : 114, - "name" : "#176", - "drilldown" : "176" + "name" : "#176" }, { "y" : 105, @@ -896,49 +888,49 @@ "drilldown" : "177" }, { + "drilldown" : "178", "name" : "#178", - "y" : 67, - "drilldown" : "178" + "y" : 67 }, { - "drilldown" : "179", + "name" : "#179", "y" : 72, - "name" : "#179" + "drilldown" : "179" }, { - "name" : "#180", + "drilldown" : "180", "y" : 117, - "drilldown" : "180" + "name" : "#180" }, { + "drilldown" : "181", "name" : "#181", - "y" : 97, - "drilldown" : "181" + "y" : 97 }, { "drilldown" : "182", - "y" : 110, - "name" : "#182" + "name" : "#182", + "y" : 110 }, { "drilldown" : "183", - "y" : 87, - "name" : "#183" + "name" : "#183", + "y" : 87 }, { + "drilldown" : "184", "y" : 109, - "name" : "#184", - "drilldown" : "184" + "name" : "#184" }, { "drilldown" : "185", - "name" : "#185", - "y" : 117 + "y" : 117, + "name" : "#185" }, { "drilldown" : "186", - "y" : 113, - "name" : "#186" + "name" : "#186", + "y" : 113 }, { "name" : "#187", @@ -952,53 +944,53 @@ }, { "drilldown" : "189", - "name" : "#189", - "y" : 117 + "y" : 117, + "name" : "#189" }, { - "y" : 111, + "drilldown" : "190", "name" : "#190", - "drilldown" : "190" + "y" : 111 }, { - "drilldown" : "191", "name" : "#191", - "y" : 117 + "y" : 117, + "drilldown" : "191" }, { - "name" : "#192", + "drilldown" : "192", "y" : 127, - "drilldown" : "192" + "name" : "#192" }, { - "y" : 112, "name" : "#193", + "y" : 112, "drilldown" : "193" }, { - "name" : "#194", "y" : 111, + "name" : "#194", "drilldown" : "194" }, { + "drilldown" : "195", "name" : "#195", - "y" : 108, - "drilldown" : "195" + "y" : 108 }, { - "name" : "#196", + "drilldown" : "196", "y" : 102, - "drilldown" : "196" + "name" : "#196" }, { "drilldown" : "197", - "y" : 102, - "name" : "#197" + "name" : "#197", + "y" : 102 }, { "drilldown" : "198", - "name" : "#198", - "y" : 116 + "y" : 116, + "name" : "#198" }, { "y" : 116, @@ -1007,58 +999,58 @@ }, { "drilldown" : "200", - "y" : 115, - "name" : "#200" + "name" : "#200", + "y" : 115 }, { - "y" : 111, + "drilldown" : "201", "name" : "#201", - "drilldown" : "201" + "y" : 111 }, { - "y" : 104, "name" : "#202", + "y" : 104, "drilldown" : "202" }, { - "y" : 96, "name" : "#203", + "y" : 96, "drilldown" : "203" }, { - "drilldown" : "204", "name" : "#204", - "y" : 111 + "y" : 111, + "drilldown" : "204" }, { - "y" : 120, "name" : "#205", + "y" : 120, "drilldown" : "205" }, { + "drilldown" : "206", "y" : 113, - "name" : "#206", - "drilldown" : "206" + "name" : "#206" }, { - "drilldown" : "207", "y" : 120, - "name" : "#207" + "name" : "#207", + "drilldown" : "207" }, { - "y" : 117, "name" : "#208", + "y" : 117, "drilldown" : "208" }, { + "drilldown" : "209", "y" : 102, - "name" : "#209", - "drilldown" : "209" + "name" : "#209" }, { - "y" : 94, + "drilldown" : "210", "name" : "#210", - "drilldown" : "210" + "y" : 94 }, { "y" : 109, @@ -1066,37 +1058,55 @@ "drilldown" : "211" }, { + "drilldown" : "212", "y" : 105, - "name" : "#212", - "drilldown" : "212" + "name" : "#212" }, { - "name" : "#213", "y" : 100, + "name" : "#213", "drilldown" : "213" }, { - "name" : "#214", + "drilldown" : "214", "y" : 69, - "drilldown" : "214" + "name" : "#214" }, { + "drilldown" : "215", "y" : 113, - "name" : "#215", - "drilldown" : "215" + "name" : "#215" }, { - "y" : 17, "name" : "#216", + "y" : 24, "drilldown" : "216" } ], - "colorByPoint" : "true", - "name" : "The Weekly Challenge Languages" + "name" : "The Weekly Challenge Languages", + "colorByPoint" : "true" } ], - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2023-05-09 20:20:47 GMT" + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "The Weekly Challenge Language" + }, + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : "false" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } }, "drilldown" : { "series" : [ @@ -1119,7 +1129,6 @@ "name" : "001" }, { - "name" : "002", "id" : "002", "data" : [ [ @@ -1134,10 +1143,12 @@ "Blog", 10 ] - ] + ], + "name" : "002" }, { "name" : "003", + "id" : "003", "data" : [ [ "Perl", @@ -1151,11 +1162,9 @@ "Blog", 9 ] - ], - "id" : "003" + ] }, { - "id" : "004", "data" : [ [ "Perl", @@ -1170,10 +1179,10 @@ 10 ] ], + "id" : "004", "name" : "004" }, { - "name" : "005", "id" : "005", "data" : [ [ @@ -1188,10 +1197,10 @@ "Blog", 12 ] - ] + ], + "name" : "005" }, { - "name" : "006", "data" : [ [ "Perl", @@ -1206,10 +1215,10 @@ 7 ] ], - "id" : "006" + "id" : "006", + "name" : "006" }, { - "name" : "007", "data" : [ [ "Perl", @@ -1224,9 +1233,11 @@ 10 ] ], - "id" : "007" + "id" : "007", + "name" : "007" }, { + "name" : "008", "id" : "008", "data" : [ [ @@ -1241,10 +1252,11 @@ "Blog", 12 ] - ], - "name" : "008" + ] }, { + "name" : "009", + "id" : "009", "data" : [ [ "Perl", @@ -1258,12 +1270,9 @@ "Blog", 13 ] - ], - "id" : "009", - "name" : "009" + ] }, { - "id" : "010", "data" : [ [ "Perl", @@ -1278,10 +1287,11 @@ 11 ] ], + "id" : "010", "name" : "010" }, { - "id" : "011", + "name" : "011", "data" : [ [ "Perl", @@ -1296,7 +1306,7 @@ 10 ] ], - "name" : "011" + "id" : "011" }, { "data" : [ @@ -1317,7 +1327,6 @@ "name" : "012" }, { - "id" : "013", "data" : [ [ "Perl", @@ -1332,6 +1341,7 @@ 13 ] ], + "id" : "013", "name" : "013" }, { @@ -1425,6 +1435,8 @@ "name" : "018" }, { + "name" : "019", + "id" : "019", "data" : [ [ "Perl", @@ -1438,12 +1450,9