* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
		
			
				
	
	
	
		
			1.8 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.8 KiB
		
	
	
	
	
	
	
	
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName | 
|---|---|---|---|---|
| 5a23c84252665b21eecc7e03 | Cumulative standard deviation | 5 | 302240 | cumulative-standard-deviation | 
--description--
Write a function that takes an array of numbers as parameter and returns the standard deviation of the series.
--hints--
standardDeviation should be a function.
assert(typeof standardDeviation == 'function');
standardDeviation([2, 4, 4, 4, 5, 5, 7, 9]) should return a number.
assert(typeof standardDeviation([2, 4, 4, 4, 5, 5, 7, 9]) == 'number');
standardDeviation([2, 4, 4, 4, 5, 5, 7, 9]) should return 2.
assert.equal(standardDeviation([2, 4, 4, 4, 5, 5, 7, 9]), 2);
standardDeviation([600, 470, 170, 430, 300]) should return 147.323.
assert.equal(standardDeviation([600, 470, 170, 430, 300]), 147.323);
standardDeviation([75, 83, 96, 100, 121, 125]) should return 18.239.
assert.equal(standardDeviation([75, 83, 96, 100, 121, 125]), 18.239);
standardDeviation([23, 37, 45, 49, 56, 63, 63, 70, 72, 82]) should return 16.87.
assert.equal(
  standardDeviation([23, 37, 45, 49, 56, 63, 63, 70, 72, 82]),
  16.87
);
standardDeviation([271, 354, 296, 301, 333, 326, 285, 298, 327, 316, 287, 314]) should return 22.631.
assert.equal(
  standardDeviation([
    271,
    354,
    296,
    301,
    333,
    326,
    285,
    298,
    327,
    316,
    287,
    314
  ]),
  22.631
);
--seed--
--seed-contents--
function standardDeviation(arr) {
}
--solutions--
function standardDeviation(arr) {
  var sum = 0,
    sum_sq = 0,
    n = arr.length;
  arr.forEach(function(e) {
    sum += e;
    sum_sq += e * e;
  });
  var std_dev = Math.sqrt(sum_sq / n - Math.pow(sum / n, 2));
  return Math.round(std_dev * 1000) / 1000;
}