Could you please explain why the correct answer is 「もらいました」 and not 「くれました」？
Multiple choice answers are:
The answer is indeed もらいました, because the speaker is (essentially) the topic/subject of the sentence in this case, as １人 refers to themselves. As such, the sentence is constructed from the viewpoint of the speaker. So, the action of help from the friends (友達に) is received (もらいました).
If you wanted to use くれました, you would need to make the 友達 the topic/subject of the sentence. くれる has the sense of "to me"/"for me" embedded in it, so it is used when the topic/subject is not the speaker. If you used くれました in the sentence above, it would be something like saying 'I couldn't do it on my own, so I received help from my friends to me/for me'. The 'I' and the 'to me/for me' in the second clause clash grammatically.
You didn't ask about the others, but use of あげました and やりました are both wrong in terms of the direction of the action: you are not helping the friend in the context of this sentence, but rather the friend is helping you.
Further, やりました is wrong in another sense, as it would imply that there is a status difference between you and your friends, which is not the case. やる is perhaps most used in work settings (e.g. boss to employee), family settings (e.g. parent to child), and a few others (e.g. I fed my pet, I watered my plant), but it is also to some extent a personal choice whether the person speaking wants to index the status difference; so you also might not see やる used in these cases.
This isn't the most technical/rigorous answer, but hopefully it provides a feel of what to look for when constructing these sentences.