Défi relevé avec la permission de mon concours University Code Challenge
Après avoir terminé ses études il y a quelques mois, Marie a ouvert un compte bancaire pour commencer à recevoir le paiement de son premier emploi en ville. Depuis lors, elle a effectué quelques transactions avec elle. Son premier paiement était de 1 000 $. Avec cet argent, elle a payé un dîner dans lequel elle a invité ses parents (le dîner a coûté 150 dollars), puis elle a fait un achat dans un supermarché bien connu (80 dollars) et une réservation d'hôtel pour ses vacances (200 dollars). À la fin du mois, elle a de nouveau reçu son paiement (1040 dollars, un peu plus que le mois précédent) et le lendemain, elle a dépensé encore 70 dollars au supermarché.
Aujourd'hui, elle s'est rendu compte que si, après avoir payé les 80 premiers dollars au supermarché, un deuxième compte avait été créé et le premier gelé, les deux comptes auraient exactement le même solde:
L'événement était si rare pour elle qu'elle veut continuer à vérifier si les mouvements de son compte et ceux de ses amis ont aussi cette particularité ou non.
Défi
Étant donné une liste de transactions, affichez le nombre d'instants de temps pendant lesquels le propriétaire du compte bancaire aurait pu créer un deuxième compte afin que les deux aient le même solde final.
Exemple: [1000, -150, -80, -200, 1040, -70]
Cas de test
- Entrée:
1000 -150 -80 -200 1040 -70Sortie:1 - Entrée:
100 -100Sortie:2 - Entrée:
1 2 3Sortie:1 - Entrée:
10 -20 15Sortie:0 - Entrée:
15 -15 15 -15Sortie:3 - Entrée:
1Sortie:0
Remarques
- Vous pouvez supposer qu'il n'y aura aucune transaction de 0 $
- Vous pouvez prendre des commentaires de toute manière raisonnable