Uma solução ao problema pode ser:
function getStars(resultados) { let stars = 0; let streak = 0; for (const result of resultados) { if (result === "G") { streak++; if (streak === 3) { stars++; streak = 0; } } else { streak = 0; } } return stars; } const resultados1 = ["P", "G", "G", "P", "G", "G", "G", "P", "G", "P", "P", "P"]; console.log(getStars(resultados1)); // Output: 1 const resultados2 = ["P", "G", "G", "P", "G", "G", "G", "P", "G", "P", "P"]; console.log(getStars(resultados2)); // Output: 0
A função getStars recebe um array de resultados de testes e retorna a quantidade de estrelas que o competidor ganhou. Ela faz isso ao manter o registro da sequência de vitórias atual usando a variável streak. Se o resultado atual for uma vitória, ele incrementa a sequência. Se a sequência alcançar 3, ele incrementa a quantidade de estrelas e reinicia a sequência. Se o resultado atual for uma derrota, ele reinicia a sequência. Por fim, ele retorna a quantidade de estrelas.