Back to Freecodecamp

Challenge 182: 2026 Winter Games Day 3: Biathlon

curriculum/challenges/english/blocks/daily-coding-challenges-javascript/697a49e6ff50d756c9b6935f.md

latest1.2 KB
Original Source

--description--

Given an array of integers, where each value represents the number of targets hit in a single round of a biathlon, return the total penalty distance the athlete must ski.

  • Each round consists of 5 targets.
  • Each missed target results in a 150 meter penalty loop.

--hints--

calculatePenaltyDistance([4, 4]) should return 300.

js
assert.equal(calculatePenaltyDistance([4, 4]), 300);

calculatePenaltyDistance([5, 5]) should return 0.

js
assert.equal(calculatePenaltyDistance([5, 5]), 0);

calculatePenaltyDistance([4, 5, 3, 5]) should return 450.

js
assert.equal(calculatePenaltyDistance([4, 5, 3, 5]), 450);

calculatePenaltyDistance([5, 4, 5, 5]) should return 150.

js
assert.equal(calculatePenaltyDistance([5, 4, 5, 5]), 150);

calculatePenaltyDistance([4, 3, 0, 3]) should return 1500.

js
assert.equal(calculatePenaltyDistance([4, 3, 0, 3]), 1500);

--seed--

--seed-contents--

js
function calculatePenaltyDistance(rounds) {

  return rounds;
}

--solutions--

js
function calculatePenaltyDistance(rounds) {
  let totalPenalty = 0;

  for (const hits of rounds) {
    const misses = 5 - hits;
    totalPenalty += misses * 150;
  }

  return totalPenalty;
}