aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-07-21 23:38:45 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-07-21 23:38:45 +0100
commitcff3bfa6eda5aa6f58717e02e7b7c4ee2e0bf853 (patch)
treeaf52067f9f430c60e616a6aa6a7e21c28d3eab66
parent63e8b874c96aa159a17eeb62a5cec40abb4aecb2 (diff)
downloadperlweeklychallenge-club-cff3bfa6eda5aa6f58717e02e7b7c4ee2e0bf853.tar.gz
perlweeklychallenge-club-cff3bfa6eda5aa6f58717e02e7b7c4ee2e0bf853.tar.bz2
perlweeklychallenge-club-cff3bfa6eda5aa6f58717e02e7b7c4ee2e0bf853.zip
- Added solutions to the task "Permutation Ranking" of week 174.
-rw-r--r--challenge-174/mohammad-anwar/java/theweeklychallenge/PermutationRanking.java124
-rw-r--r--challenge-174/mohammad-anwar/perl/ch-2.pl49
-rw-r--r--challenge-174/mohammad-anwar/python/ch-2.py53
-rw-r--r--challenge-174/mohammad-anwar/raku/ch-2.raku47
-rw-r--r--challenge-174/mohammad-anwar/swift/ch-2.swift153
-rw-r--r--stats/pwc-current.json184
-rw-r--r--stats/pwc-language-breakdown-summary.json46
-rw-r--r--stats/pwc-language-breakdown.json2506
-rw-r--r--stats/pwc-leaders.json784
-rw-r--r--stats/pwc-summary-1-30.json44
-rw-r--r--stats/pwc-summary-121-150.json98
-rw-r--r--stats/pwc-summary-151-180.json40
-rw-r--r--stats/pwc-summary-181-210.json28
-rw-r--r--stats/pwc-summary-211-240.json58
-rw-r--r--stats/pwc-summary-241-270.json40
-rw-r--r--stats/pwc-summary-31-60.json46
-rw-r--r--stats/pwc-summary-61-90.json104
-rw-r--r--stats/pwc-summary-91-120.json98
-rw-r--r--stats/pwc-summary.json36
19 files changed, 2482 insertions, 2056 deletions
diff --git a/challenge-174/mohammad-anwar/java/theweeklychallenge/PermutationRanking.java b/challenge-174/mohammad-anwar/java/theweeklychallenge/PermutationRanking.java
new file mode 100644
index 0000000000..5436f82c01
--- /dev/null
+++ b/challenge-174/mohammad-anwar/java/theweeklychallenge/PermutationRanking.java
@@ -0,0 +1,124 @@
+package theweeklychallenge;
+
+/*
+
+Week 174:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-174
+
+Task #2: Permutation Ranking
+
+ You are given a list of integers with no duplicates, e.g. [0, 1, 2].
+
+ Write two functions, permutation2rank() which will take the list
+ and determine its rank (starting at 0) in the set of possible
+ permutations arranged in lexicographic order, and rank2permutation()
+ which will take the list and a rank number and produce just that
+ permutation.
+
+Compile and Run:
+
+ mohammad-anwar/java$ javac theweeklychallenge/PermutationRanking.java
+ mohammad-anwar/java$ java theweeklychallenge.PermutationRanking
+
+*/
+
+import java.util.List;
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.stream.Collectors;
+import junit.framework.TestCase;
+import static junit.framework.Assert.*;
+
+public class PermutationRanking extends TestCase {
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(
+ theweeklychallenge.PermutationRanking.class);
+ }
+
+ public void test_permutation2rank() {
+ int[] n = {1, 0, 2};
+ List<List<Integer>> got = permutation2rank(n);
+ List<List<Integer>> exp = List.of(
+ List.of(0, 1, 2),
+ List.of(0, 2, 1),
+ List.of(1, 0, 2),
+ List.of(1, 2, 0),
+ List.of(2, 0, 1),
+ List.of(2, 1, 0)
+ );
+ assertEquals(exp, got);
+ }
+
+ public void test_rank2permutation() {
+ int[] n = {1, 0, 2};
+ Integer[] got = rank2permutation(n, 1);
+ Integer[] exp = {0, 2, 1};
+ assertEquals(Arrays.toString(exp), Arrays.toString(got));
+ }
+
+ public static List<List<Integer>> permutation2rank(int[] n) {
+ List<List<Integer>> perm = new ArrayList<>();
+ Permutation(0, n, perm);
+ return sortPermutations(perm);
+ }
+
+ public static Integer[] rank2permutation(int[] n, int r) {
+ List<List<Integer>> rank = permutation2rank(n);
+ List<Integer> p = rank.get(r);
+ return p.toArray(new Integer[p.size()]);
+ }
+
+ private static List<List<Integer>> sortPermutations(List<List<Integer>> perm) {
+ String[] strPerm = new String[perm.size()];
+ int i = 0;
+ for(List<Integer> _perm : perm) {
+ strPerm[i] = _perm.stream()
+ .map(String::valueOf)
+ .collect(Collectors.joining(""));
+ i++;
+ }
+
+ Arrays.sort(strPerm);
+
+ List<List<Integer>> sortedPerm = new ArrayList<>();
+ for(int j = 0; j < strPerm.length; j++) {
+ String str = strPerm[j];
+ String[] strArray = str.split("");
+ int[] intArray = new int[strArray.length];
+
+ for(int k = 0; k < strArray.length; k++) {
+ intArray[k] = Integer.parseInt(strArray[k]);
+ }
+
+ List<Integer> intList = new ArrayList<Integer>(intArray.length);
+ for(int e : intArray) {
+ intList.add(e);
+ }
+
+ sortedPerm.add(intList);
+ }
+
+ return sortedPerm;
+ }
+
+ // https://www.w3resource.com/java-exercises/array/java-array-exercise-68.php
+ private static void Permutation(int i, int[] nums, List<List<Integer>> result) {
+ if (i == nums.length - 1) {
+ List<Integer> list = new ArrayList<>();
+ for(int n : nums) list.add(n);
+ result.add(list);
+ } else {
+ for(int j = i, l = nums.length; j < l; j++) {
+ int temp = nums[j];
+ nums[j] = nums[i];
+ nums[i] = temp;
+ Permutation(i + 1, nums, result);
+ temp = nums[j];
+ nums[j] = nums[i];
+ nums[i] = temp;
+ }
+ }
+ }
+}
diff --git a/challenge-174/mohammad-anwar/perl/ch-2.pl b/challenge-174/mohammad-anwar/perl/ch-2.pl
new file mode 100644
index 0000000000..a681a40460
--- /dev/null
+++ b/challenge-174/mohammad-anwar/perl/ch-2.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl
+
+=head1
+
+Week 174:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-174
+
+Task #2: Permutation Ranking
+
+ You are given a list of integers with no duplicates, e.g. [0, 1, 2].
+
+ Write two functions, permutation2rank() which will take the list
+ and determine its rank (starting at 0) in the set of possible
+ permutations arranged in lexicographic order, and rank2permutation()
+ which will take the list and a rank number and produce just that
+ permutation.
+
+=cut
+
+use v5.36;
+use Test2::V0;
+use Algorithm::Combinatorics qw(permutations);
+
+is permutation2rank([1, 0, 2]),
+ [ [0, 1, 2],
+ [0, 2, 1],
+ [1, 0, 2],
+ [1, 2, 0],
+ [2, 0, 1],
+ [2, 1, 0],
+ ];
+
+is rank2permutation([0, 1, 2], 1),
+ [0, 2, 1];
+
+done_testing;
+
+#
+#
+# METHODS
+
+sub permutation2rank($array) {
+ return [ permutations([sort @$array]) ];
+}
+
+sub rank2permutation($array, $rank) {
+ return ( @{permutation2rank($array)} )[$rank];
+}
diff --git a/challenge-174/mohammad-anwar/python/ch-2.py b/challenge-174/mohammad-anwar/python/ch-2.py
new file mode 100644
index 0000000000..96b0492d4f
--- /dev/null
+++ b/challenge-174/mohammad-anwar/python/ch-2.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python3
+
+'''
+
+Week 174:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-174
+
+Task #2: Permutation Ranking
+
+ You are given a list of integers with no duplicates, e.g. [0, 1, 2].
+
+ Write two functions, permutation2rank() which will take the list
+ and determine its rank (starting at 0) in the set of possible
+ permutations arranged in lexicographic order, and rank2permutation()
+ which will take the list and a rank number and produce just that
+ permutation.
+
+'''
+
+import unittest
+import itertools
+
+def permutation2rank(array):
+ array.sort()
+ return list(itertools.permutations(array))
+
+def rank2permutation(array, rank):
+ p2r = permutation2rank(array)
+ return p2r[rank]
+
+#
+#
+# Unit test class
+
+class TestPermutationRanking(unittest.TestCase):
+ def test_permutation2rank(self):
+ exp = [ (0, 1, 2),
+ (0, 2, 1),
+ (1, 0, 2),
+ (1, 2, 0),
+ (2, 0, 1),
+ (2, 1, 0),
+ ]
+ got = permutation2rank([1, 0, 2])
+ self.assertEqual(exp, got)
+
+ def test_rank2permutation(self):
+ exp = (0, 2, 1)
+ got = rank2permutation([1, 0, 2], 1)
+ self.assertEqual(exp, got)
+
+unittest.main()
diff --git a/challenge-174/mohammad-anwar/raku/ch-2.raku b/challenge-174/mohammad-anwar/raku/ch-2.raku
new file mode 100644
index 0000000000..51bf7b271b
--- /dev/null
+++ b/challenge-174/mohammad-anwar/raku/ch-2.raku
@@ -0,0 +1,47 @@
+#!/usr/bin/env raku
+
+=begin pod
+
+Week 174:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-174
+
+Task #2: Permutation Ranking
+
+ You are given a list of integers with no duplicates, e.g. [0, 1, 2].
+
+ Write two functions, permutation2rank() which will take the list
+ and determine its rank (starting at 0) in the set of possible
+ permutations arranged in lexicographic order, and rank2permutation()
+ which will take the list and a rank number and produce just that
+ permutation.
+
+=end pod
+
+use Test;
+
+is permutation2rank([1, 0, 2]),
+ [ [0, 1, 2],
+ [0, 2, 1],
+ [1, 0, 2],
+ [1, 2, 0],
+ [2, 0, 1],
+ [2, 1, 0],
+ ];
+
+is rank2permutation([0, 1, 2], 1),
+ [0, 2, 1];
+
+done-testing;
+
+#
+#
+# METHODS
+
+sub permutation2rank($array) {
+ return [ $array.sort.permutations ];
+}
+
+sub rank2permutation($array, $rank) {
+ return @(permutation2rank($array)).[$rank];
+}
diff --git a/challenge-174/mohammad-anwar/swift/ch-2.swift b/challenge-174/mohammad-anwar/swift/ch-2.swift
new file mode 100644
index 0000000000..3817a18e08
--- /dev/null
+++ b/challenge-174/mohammad-anwar/swift/ch-2.swift
@@ -0,0 +1,153 @@
+import Foundation
+
+/*
+
+Week 174:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-174
+
+Task #2: Permutation Ranking
+
+ You are given a list of integers with no duplicates, e.g. [0, 1, 2].
+
+ Write two functions, permutation2rank() which will take the list
+ and determine its rank (starting at 0) in the set of possible
+ permutations arranged in lexicographic order, and rank2permutation()
+ which will take the list and a rank number and produce just that
+ permutation.
+
+ACTION:
+
+ $ swift ch-2.swift "1,0,2" 1
+
+*/
+
+enum ParamError: Error {
+ case missingList
+ case missingRank
+ case invalidList
+ case invalidRank
+}
+
+do {
+ let paramCount:Int = Int(CommandLine.argc)
+
+ if paramCount <= 1 {
+ throw ParamError.missingList
+ }
+
+ if paramCount <= 2 {
+ throw ParamError.missingRank
+ }
+
+ let list:String = CommandLine.arguments[1]
+ let rank:Int = Int(CommandLine.arguments[2])!
+
+ if isValid(list) {
+ if rank >= 0 {
+ let arrays:[Int] = (list.components(separatedBy: ",")).map { Int($0)! }
+ print(rank2permutation(arrays, rank))
+ }
+ else {
+ throw ParamError.invalidRank
+ }
+ }
+ else {
+ throw ParamError.invalidList
+ }
+}
+catch ParamError.missingList {
+ print("Missing list.")
+}
+catch ParamError.missingRank {
+ print("Missing rank.")
+}
+catch ParamError.invalidList {
+ print("Invalid list.")
+}
+catch ParamError.invalidRank {
+ print("Invalid rank.")
+}
+catch let error {
+ print(error)
+}
+
+//
+//
+// Functions
+
+func permutation2rank(_ arrays:[Int]) -> [[Int]] {
+ return sortPermutations(arrays.allPermutations())
+}
+
+func rank2permutation(_ arrays:[Int], _ rank:Int) -> [Int] {
+ let perms:[[Int]] = permutation2rank(arrays)
+ return perms[rank]
+}
+
+func sortPermutations(_ perms: [[Int]]) -> [[Int]] {
+ var strArrays:[String] = []
+ for entry in perms {
+ strArrays.append(entry.reduce("") { $0 + "\($1)" })
+ }
+
+ strArrays.sort()
+
+ var intArrays:[[Int]] = []
+ for entry in strArrays {
+ intArrays.append(String(entry).compactMap { Int(String($0)) })
+ }
+
+ return intArrays
+}
+
+func isValid(_ 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
+ }
+}
+
+//
+//
+// Array extension borrowed from SO.
+// https://stackoverflow.com/questions/30586711/order-array-of-objects-into-every-possible-sequence-in-swift
+
+extension Array {
+ private var decompose : (head: Element, tail: [Element])? {
+ return (count > 0) ? (self[0], Array(self[1..<count])) : nil
+ }
+
+ private func between<T>(x: T, ys: [T]) -> [[T]] {
+ if let (head, tail) = ys.decompose {
+ return [[x] + ys] + between(x: x, ys: tail).map { [head] + $0 }
+ } else {
+ return [[x]]
+ }
+ }
+
+ private func permutations<T>(xs: [T]) -> [[T]] {
+ if let (head, tail) = xs.decompose {
+ return permutations(xs: tail) >>= { permTail in
+ self.between(x: head, ys: permTail)
+ }
+ } else {
+ return [[]]
+ }
+ }
+
+ func allPermutations() -> [[Element]] {
+ return permutations(xs: self)
+ }
+}
+
+infix operator >>=
+func >>=<A, B>(xs: [A], f: (A) -> [B]) -> [B] {
+ return xs.map(f).reduce([], +)
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 0fff4ea13b..920f98e788 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -2,86 +2,70 @@
"chart" : {
"type" : "column"
},
- "xAxis" : {
- "type" : "category"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "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/>"
- },
- "title" : {
- "text" : "The Weekly Challenge - 174"
- },
"series" : [
{
- "colorByPoint" : 1,
"name" : "The Weekly Challenge - 174",
+ "colorByPoint" : 1,
"data" : [
{
- "y" : 2,
"name" : "Cheok-Yin Fung",
- "drilldown" : "Cheok-Yin Fung"
+ "drilldown" : "Cheok-Yin Fung",
+ "y" : 2
},
{
+ "name" : "E. Choroba",
"drilldown" : "E. Choroba",
- "y" : 2,
- "name" : "E. Choroba"
+ "y" : 2
},
{
"drilldown" : "James Smith",
- "y" : 3,
- "name" : "James Smith"
+ "name" : "James Smith",
+ "y" : 3
},
{
"name" : "Kjetil Skotheim",
- "y" : 2,
- "drilldown" : "Kjetil Skotheim"
+ "drilldown" : "Kjetil Skotheim",
+ "y" : 2
},
{
- "drilldown" : "Laurent Rosenfeld",
"y" : 3,
+ "drilldown" : "Laurent Rosenfeld",
"name" : "Laurent Rosenfeld"
},
{
+ "y" : 8,
"drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari",
- "y" : 8
+ "name" : "Luca Ferrari"
},
{
"y" : 2,
- "name" : "Mark Anderson",
- "drilldown" : "Mark Anderson"
+ "drilldown" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
- "drilldown" : "Mohammad S Anwar",
+ "y" : 4,
"name" : "Mohammad S Anwar",
- "y" : 2
+ "drilldown" : "Mohammad S Anwar"
},
{
- "y" : 3,
"name" : "Peter Campbell Smith",
- "drilldown" : "Peter Campbell Smith"
+ "drilldown" : "Peter Campbell Smith",
+ "y" : 3
},
{
"y" : 2,
- "name" : "PokGoPun",
- "drilldown" : "PokGoPun"
+ "drilldown" : "PokGoPun",
+ "name" : "PokGoPun"
},
{
- "drilldown" : "Robert DiCicco",
"y" : 3,
- "name" : "Robert DiCicco"
+ "name" : "Robert DiCicco",
+ "drilldown" : "Robert DiCicco"
},
{
"y" : 5,
- "name" : "Roger Bell_West",
- "drilldown" : "Roger Bell_West"
+ "drilldown" : "Roger Bell_West",
+ "name" : "Roger Bell_West"
},
{
"drilldown" : "Simon Proctor",
@@ -90,36 +74,38 @@
},
{
"y" : 5,
- "name" : "Stephen G Lynn",
- "drilldown" : "Stephen G Lynn"
+ "drilldown" : "Stephen G Lynn",
+ "name" : "Stephen G Lynn"
},
{
- "drilldown" : "Ulrich Rieke",
"y" : 3,
+ "drilldown" : "Ulrich Rieke",
"name" : "Ulrich Rieke"
},
{
- "y" : 3,
+ "drilldown" : "W. Luis Mochan",
"name" : "W. Luis Mochan",
- "drilldown" : "W. Luis Mochan"
+ "y" : 3
}
]
}
],
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
+ "tooltip" : {
+ "followPointer" : 1,
+ "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/>"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 16] Last updated at 2022-07-21 22:35:38 GMT"
},
"legend" : {
"enabled" : 0
},
- "subtitle" : {
- "text" : "[Champions: 16] Last updated at 2022-07-21 08:03:16 GMT"
+ "title" : {
+ "text" : "The Weekly Challenge - 174"
},
"drilldown" : {
"series" : [
@@ -134,14 +120,14 @@
]
},
{
- "id" : "E. Choroba",
- "name" : "E. Choroba",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "E. Choroba",
+ "name" : "E. Choroba"
},
{
"data" : [
@@ -154,18 +140,18 @@
1
]
],
- "id" : "James Smith",
- "name" : "James Smith"
+ "name" : "James Smith",
+ "id" : "James Smith"
},
{
- "name" : "Kjetil Skotheim",
- "id" : "Kjetil Skotheim",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Kjetil Skotheim",
+ "id" : "Kjetil Skotheim"
},
{
"name" : "Laurent Rosenfeld",
@@ -186,6 +172,8 @@
]
},
{
+ "name" : "Luca Ferrari",
+ "id" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -195,9 +183,7 @@
"Blog",
6
]
- ],
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari"
+ ]
},
{
"data" : [
@@ -206,24 +192,26 @@
2
]
],
- "id" : "Mark Anderson",
- "name" : "Mark Anderson"
+ "name" : "Mark Anderson",
+ "id" : "Mark Anderson"
},
{
- "name" : "Mohammad S Anwar",
- "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
- 1
+ 2
],
[
"Raku",
- 1
+ 2
]
- ]
+ ],
+ "id" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar"
},
{
+ "id" : "Peter Campbell Smith",
+ "name" : "Peter Campbell Smith",
"data" : [
[
"Perl",
@@ -233,23 +221,21 @@
"Blog",
1
]
- ],
- "name" : "Peter Campbell Smith",
- "id" : "Peter Campbell Smith"
+ ]
},
{
- "name" : "PokGoPun",
- "id" : "PokGoPun",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "PokGoPun",
+ "id" : "PokGoPun"
},
{
- "id" : "Robert DiCicco",
"name" : "Robert DiCicco",
+ "id" : "Robert DiCicco",
"data" : [
[
"Perl",
@@ -262,8 +248,6 @@
]
},
{
- "name" : "Roger Bell_West",
- "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -277,19 +261,23 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West"
},
{
+ "id" : "Simon Proctor",
+ "name" : "Simon Proctor",
"data" : [
[
"Raku",
1
]
- ],
- "name" : "Simon Proctor",
- "id" : "Simon Proctor"
+ ]
},
{
+ "name" : "Stephen G Lynn",
+ "id" : "Stephen G Lynn",
"data" : [
[
"Perl",
@@ -303,11 +291,11 @@
"Blog",
1
]
- ],
- "id" : "Stephen G Lynn",
- "name" : "Stephen G Lynn"
+ ]
},
{
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -317,9 +305,7 @@
"Raku",
1
]
- ],
- "id" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
+ ]
},
{
"data" : [
@@ -336,5 +322,19 @@
"id" : "W. Luis Mochan"
}
]
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index cb754f353c..bfce21190b 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,39 +1,32 @@
{
- "legend" : {
- "enabled" : "false"
- },
- "subtitle" : {
- "text" : "Last updated at 2022-07-21 08:03:16 GMT"
- },
"yAxis" : {
"min" : 0,
"title" : {
"text" : null
}
},
- "xAxis" : {
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- },
- "type" : "category"
+ "title" : {
+ "text" : "The Weekly Challenge Contributions [2019 - 2022]"
+ },
+ "legend" : {
+ "enabled" : "false"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2022-07-21 22:35:38 GMT"
},
"series" : [
{
- "name" : "Contributions",
"dataLabels" : {
- "rotation" : -90,
"style" : {
"fontSize" : "13px",
"fontFamily" : "Verdana, sans-serif"
},
+ "color" : "#FFFFFF",
+ "format" : "{point.y:.0f}",
"enabled" : "true",
"y" : 10,
- "format" : "{point.y:.0f}",
"align" : "right",
- "color" : "#FFFFFF"
+ "rotation" : -90
},
"data" : [
[
@@ -42,20 +35,27 @@
],
[
"Perl",
- 8470
+ 8471
],
[
"Raku",
- 5043
+ 5044
]
- ]
+ ],
+ "name" : "Contributions"
}
],
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
},
- "title" : {
- "text" : "The Weekly Challenge Contributions [2019 - 2022]"
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ }
},
"chart" : {
"type" : "column"
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index e7414c1188..f1b8235406 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,913 +1,9 @@
{
- "chart" : {
- "type" : "column"
- },
- "xAxis" : {
- "type" : "category"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "title" : {
- "text" : "The Weekly Challenge Language"
- },
- "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>"
- },
- "series" : [
- {
- "data" : [
- {
- "y" : 161,
- "name" : "#001",
- "drilldown" : "001"
- },
- {
- "drilldown" : "002",
- "name" : "#002",
- "y" : 125
- },
- {
- "name" : "#003",
- "y" : 83,
- "drilldown" : "003"
- },
- {
- "y" : 99,
- "name" : "#004",
- "drilldown" : "004"
- },
- {
- "y" : 78,
- "name" : "#005",
- "drilldown" : "005"
- },
- {
- "y" : 58,
- "name" : "#006",
- "drilldown" : "006"
- },
- {
- "drilldown" : "007",
- "name" : "#007",
- "y" : 65
- },
- {
- "y" : 78,
- "name" : "#008",
- "drilldown" : "008"
- },
- {
- "drilldown" : "009",
- "y" : 76,
- "name" : "#009"
- },
- {
- "drilldown" : "010",
- "name" : "#010",
- "y" : 65
- },
- {
- "drilldown" : "011",
- "y" : 85,
- "name" : "#011"
- },
- {
- "name" : "#012",
- "y" : 89,
- "drilldown" : "012"
- },
- {
- "name" : "#013",
- "y" : 85,
- "drilldown" : "013"
- },
-