Vamos fazer um stop no nosso caminho e olhemos as funções Math.max
e Math.min
, que podem nos economizar mais trabalho do que parece.
Precisamos de uma função que diga quanto dinheiro fica na sua conta (que tem um determinado saldo
) se você extrai uma quantia
de dinheiro.
// o saldo é $100, a quantidade a extrair, $30
extrair(100, 30)
70 //ficam $70 ($100 - $30 = $70)
Mas, como não queremos que você fique em negativo, se o valor a ser extraído for maior que o saldo, nosso saldo deve ficar em zero.
extrair(100, 120)
0 //Ups, queríamos extrair mais dinheiro do que tínhamos.
//Ficamos com $0
Como você pode ver, isso é quase uma subtração entre saldo
e quantidade
, com a exceção de que estamos colocando um limite inferior: não pode dar menos de zero.
Em outras palavras (prepare-se!, isso pode explodir sua cabeça ) extrair
devolve o máximo entre a subtração saldo - quantidade
e 0
.
Você se anima a completar a solução que está no editor?
Você não está convencido de que o valor máximo entre o saldo - monto
e 0
resolva nosso problema? Compare esses exemplos com os dois anteriores:
Math.max(100 - 30, 0)
70 // dá o máximo entre 70 e 0, que é 70
Math.max(100 - 120, 0)
0 // dá o máximo entre -20 e 0, que é 0
Você deve fazer o login antes de começar a enviar suas soluções