Challenge Incompleto - Ajuda
10/01/2021
0
O challenge
Num jogo de futebol entre amigos é muito comum que ninguém queira ser o goleiro. Para resolver esse impasse, um time decidiu utilizar o jogo "Americano".
Neste jogo, o time faz uma roda e cada um dos jogadores "joga" um número X qualquer. Após isso, o capitão do time soma todos os números jogados e obtém o resultado S. Depois, começa a contar de 1 até S apontando inicialmente para si mesmo (e falando alto e claramente "um"), depois para o jogador imediatamente a sua direita (e falando "dois") e assim por diante. O goleiro será aquele que estiver sendo apontado quando o capitão chegar a S.
Para fins de facilitar a resposta do problema, vamos considerar que o capitão está na posição 1, o jogador a sua direita está na posição 2, o jogador a direita deste está na posição 3, e assim por diante.
Você deve fazer um programa que determina qual a posição do jogador que deve ser o goleiro.
Input Format
A entrada será um array com N números, que corresempondem ao número jogado por cada um dos jogadores do time. Logo, se o array tiver tamanho 11, significa que este time tem 11 jogadores, por exemplo.
Constraints
0 < X < 11
N < 12
Output Format
Imprima na tela a posição em que está o jogodar que foi sorteado para ser o goleiro.
Sample Input 0
1 3 2 1
Sample Output 0
3
_____________
Minha tentativa:
function solucao(numeros) {
let soma = 0;
for (let i = 0; i < numeros.length; i++) {
soma += numeros[i];
continue;
}
let jogador;
soma > numeros.length ? (jogador = soma % numeros.length) : (jogador = soma);
console.log(jogador);
}
solucao([1, 3, 2, 1]);
solucao([1, 1, 1]);
solucao([5, 5, 5, 5]);
__________________________
Na solução 1 e 2 o output é correto, mas na 3 não. O problema deve ser no soma > numeros.length ? (jogador = soma % numeros.length) : (jogador = soma);, mas desde ontem que não consigo entender o que falta.
Num jogo de futebol entre amigos é muito comum que ninguém queira ser o goleiro. Para resolver esse impasse, um time decidiu utilizar o jogo "Americano".
Neste jogo, o time faz uma roda e cada um dos jogadores "joga" um número X qualquer. Após isso, o capitão do time soma todos os números jogados e obtém o resultado S. Depois, começa a contar de 1 até S apontando inicialmente para si mesmo (e falando alto e claramente "um"), depois para o jogador imediatamente a sua direita (e falando "dois") e assim por diante. O goleiro será aquele que estiver sendo apontado quando o capitão chegar a S.
Para fins de facilitar a resposta do problema, vamos considerar que o capitão está na posição 1, o jogador a sua direita está na posição 2, o jogador a direita deste está na posição 3, e assim por diante.
Você deve fazer um programa que determina qual a posição do jogador que deve ser o goleiro.
Input Format
A entrada será um array com N números, que corresempondem ao número jogado por cada um dos jogadores do time. Logo, se o array tiver tamanho 11, significa que este time tem 11 jogadores, por exemplo.
Constraints
0 < X < 11
N < 12
Output Format
Imprima na tela a posição em que está o jogodar que foi sorteado para ser o goleiro.
Sample Input 0
1 3 2 1
Sample Output 0
3
_____________
Minha tentativa:
function solucao(numeros) {
let soma = 0;
for (let i = 0; i < numeros.length; i++) {
soma += numeros[i];
continue;
}
let jogador;
soma > numeros.length ? (jogador = soma % numeros.length) : (jogador = soma);
console.log(jogador);
}
solucao([1, 3, 2, 1]);
solucao([1, 1, 1]);
solucao([5, 5, 5, 5]);
__________________________
Na solução 1 e 2 o output é correto, mas na 3 não. O problema deve ser no soma > numeros.length ? (jogador = soma % numeros.length) : (jogador = soma);, mas desde ontem que não consigo entender o que falta.
Tiago Nunes
Curtir tópico
+ 0
Responder
Post mais votado
11/01/2021
function solucao(numeros) { let soma = 0; for (let i = 0; i < numeros.length; i++) { soma += numeros[i]; } let jogador = 0; if soma > numeros.length { jogador = (soma % numeros.length); /* se o jogador for 0, houve uma divisão exata, então o resultado é o próprio numero de jogadores */ if jogador = 0 { jogador = numeros.length; } } else { jogador = soma; } console.log(jogador); }
Emerson Nascimento
Responder
Clique aqui para fazer login e interagir na Comunidade :)