Files
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

1.5 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
68b7687dded630607aceccaf Challenge 47: Caught Speeding 28 challenge-47

--description--

Given an array of numbers representing the speed at which vehicles were observed traveling, and a number representing the speed limit, return an array with two items, the number of vehicles that were speeding, followed by the average amount beyond the speed limit of those vehicles.

  • If there were no vehicles speeding, return [0, 0].

--hints--

speeding([50, 60, 55], 60) should return [0, 0].

assert.deepEqual(speeding([50, 60, 55], 60), [0, 0]);

speeding([58, 50, 60, 55], 55) should return [2, 4].

assert.deepEqual(speeding([58, 50, 60, 55], 55), [2, 4]);

speeding([61, 81, 74, 88, 65, 71, 68], 70) should return [4, 8.5].

assert.deepEqual(speeding([61, 81, 74, 88, 65, 71, 68], 70), [4, 8.5]);

speeding([100, 105, 95, 102], 100) should return [2, 3.5].

assert.deepEqual(speeding([100, 105, 95, 102], 100), [2, 3.5]);

speeding([40, 45, 44, 50, 112, 39], 55) should return [1, 57].

assert.deepEqual(speeding([40, 45, 44, 50, 112, 39], 55), [1, 57]);

--seed--

--seed-contents--

function speeding(speeds, limit) {

  return speeds;
}

--solutions--

function speeding(speeds, limit) {
  let speeding = 0;
  let totalOver = 0;

  for (let speed of speeds) {
    if (speed > limit) {
      speeding++;
      totalOver += (speed - limit);
    }
  }

  if (speeding === 0) return [0, 0];

  return [speeding, totalOver / speeding];
}