Back to Freecodecamp

Golf Code

curriculum/challenges/english/blocks/basic-javascript/5664820f61c48e80c9fa476c.md

latest2.8 KB
Original Source

--description--

In the game of Golf, each hole has a par, meaning, the average number of strokes a golfer is expected to make in order to sink the ball in the hole to complete the play. Depending on how far above or below par your strokes are, there is a different nickname.

Your function will be passed par and strokes arguments. Return the correct string according to this table which lists the strokes in order of priority; top (highest) to bottom (lowest):

<table><thead><tr><th>Strokes</th><th>Return</th></tr></thead><tbody><tr><td>1</td><td>"Hole-in-one!"</td></tr><tr><td>&#x3C;= par - 2</td><td>"Eagle"</td></tr><tr><td>par - 1</td><td>"Birdie"</td></tr><tr><td>par</td><td>"Par"</td></tr><tr><td>par + 1</td><td>"Bogey"</td></tr><tr><td>par + 2</td><td>"Double Bogey"</td></tr><tr><td>>= par + 3</td><td>"Go Home!"</td></tr></tbody></table>

par and strokes will always be numeric and positive. We have added an array of all the names for your convenience.

--hints--

golfScore(4, 1) should return the string Hole-in-one!

js
assert(golfScore(4, 1) === 'Hole-in-one!');

golfScore(4, 2) should return the string Eagle

js
assert(golfScore(4, 2) === 'Eagle');

golfScore(5, 2) should return the string Eagle

js
assert(golfScore(5, 2) === 'Eagle');

golfScore(4, 3) should return the string Birdie

js
assert(golfScore(4, 3) === 'Birdie');

golfScore(4, 4) should return the string Par

js
assert(golfScore(4, 4) === 'Par');

golfScore(1, 1) should return the string Hole-in-one!

js
assert(golfScore(1, 1) === 'Hole-in-one!');

golfScore(5, 5) should return the string Par

js
assert(golfScore(5, 5) === 'Par');

golfScore(4, 5) should return the string Bogey

js
assert(golfScore(4, 5) === 'Bogey');

golfScore(4, 6) should return the string Double Bogey

js
assert(golfScore(4, 6) === 'Double Bogey');

golfScore(4, 7) should return the string Go Home!

js
assert(golfScore(4, 7) === 'Go Home!');

golfScore(5, 9) should return the string Go Home!

js
assert(golfScore(5, 9) === 'Go Home!');

--seed--

--seed-contents--

js
const names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];

function golfScore(par, strokes) {
  // Only change code below this line


  return "Change Me";
  // Only change code above this line
}

golfScore(5, 4);

--solutions--

js
function golfScore(par, strokes) {
  if (strokes === 1) {
    return "Hole-in-one!";
  }

  if (strokes <= par - 2) {
    return "Eagle";
  }

  if (strokes === par - 1) {
    return "Birdie";
  }

  if (strokes === par) {
    return "Par";
  }

  if (strokes === par + 1) {
    return "Bogey";
  }

  if(strokes === par + 2) {
    return "Double Bogey";
  }

  return "Go Home!";
}