Challenge Golf Code

🚩 Remember to use Read-Search-Ask if you get stuck. Try to pair program 👥 and write your own code 📝

🏁 Problem Explanation:

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 a 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. You’ve to return the correct string according to this table which lists the strokes in order of priority; top (highest) to bottom (lowest):

Strokes Return
1 “Hole-in-one!”
<= par - 2 “Eagle”
par - 1 “Birdie”
par “Par”
par + 1 “Bogey”
par + 2 “Double Bogey”
>= par + 3 “Go Home!”

par and strokes will always be numeric and positive.

  • Change the code below // Only change code below this line and above // Only change code above this line.
  • Ensure that you’re editing the inside of the golfScore function.
  • You will have to make the function return exactly the same string as shown shown in the table, depending on the value of the parameters par and strokes that are passed to your function.

Relevant Links

💬 Hint: 1

+number -number can be used to increase or decrease a parameter in your condition.

try to solve the problem now

💬 Hint: 2

You use if / else if chains to return different values in different scenarios.

try to solve the problem now

💬 Hint: 3

Control the flow of your function based on the tables order of priority - top (highest) to bottom (lowest) to return matching string values.

try to solve the problem now

Spoiler Alert!


Solution ahead!

🔰 Basic Code Solution:

function golfScore(par, strokes) {
  // Only change code below this line
  if (strokes == 1){
    return "Hole-in-one!";
  } else if (strokes <= par -2){
    return "Eagle";
  } else if (strokes == par -1) {
    return "Birdie";
  } else if (strokes == par) {
    return "Par";
  } else if (strokes == par +1) {
    return "Bogey";
  } else if (strokes == par +2) {
    return "Double Bogey";
  } else {
    return "Go Home!";
  // Only change code above this line
// Change these values to test
golfScore(5, 4);

Code Explanation:

  • Compare the parameters par and strokes to return appropriate string values.
  • if / else if chain is used for flow control.
  • String “Go Home!” is returned for every condition where strokes is greater than or equal to par + 3.

🏆 Credits:

If you found this page useful, you may say thanks to the contributors by copying and pasting the following line in the main chat:

Thanks @osterbergmarcus for your help with Checkpoint: Golf Code


  • ⚠ DO NOT add solutions that are similar to any existing solutions. If you think it is similar but better, then try to merge (or replace) the existing similar solution.
  • Add an explanation of your solution.
  • Categorize the solution in one of the following categories — Basic, Intermediate and Advanced. 🚥
  • Please add your username only if you have added any relevant main contents. (⚠ DO NOT remove any existing usernames)

See 👉 Wiki Challenge Solution Template for reference.