Étant donné une chaîne avec les données d'investissement de plusieurs personnes, découvrez combien de profits / pertes ils ont enregistrés.
La chaîne contient uniquement des majuscules et des minuscules, comme ceci:
AABaBbba
Chaque lettre représente une personne - une lettre majuscule signifie acheter, une lettre minuscule signifie vendre. Le prix des actions dans lesquelles ils investissent (CGLF) commence à 50 $. Après que quelqu'un achète, le prix augmente de 5%. Après que quelqu'un a vendu, le prix baisse de 5%. Vous devez déterminer combien d'argent chaque personne qui a participé a gagné / perdu.
Remarques:
- La chaîne sera toujours valide, pas de vente sans premier achat. En outre, tous ceux qui achètent un stock le revendent éventuellement.
- Vos calculs doivent être précis à au moins 6 décimales. Cependant, les réponses finales doivent être arrondies à deux décimales.
Cas de test:
Contribution: AABaBbba
- A: acheter - 50 $
- A: acheter - 52,50 $
- B: acheter - 55,125 $
- a: Vendre - 57,88125 $
- B: acheter - 54,9871875 $
- b: Vendre - 57,736546875 $
- b: Vente - 54,8497195313 $
- a: Vendre - 52,1072335547 $
- Bénéfice de la personne A:
57.88125+52.1072335547-50-52.50=
7.4884835547 - Bénéfice de la personne B:
57.736546875+54.8497195313-55.125-54.9871875=
2,4740789063
Sortie: A:7.49,B:2.47
(l'ordre n'a pas d'importance, les séparateurs ne sont pas nécessaires)
Contribution: DGdg
- D: acheter - 50 $
- G: Acheter - 52,50 $
- d: Vendre - 55,125 $
- g: Vendre - 52,36875 $
- Bénéfice de la personne D:
55.125-50=
5.125 - Bénéfice de la personne G:
52.36875-52.50=
-0,13125
Production: D:5.13,G:-.13
Contribution: ADJdja
- A: acheter - 50 $
- D: acheter - 52,50 $
- J: Acheter - 55,125 $
- d: Vendre - 57,88125 $
- j: Vendre - 54,9871875 $
- a: Vendre - 52,237828125 $
- Bénéfice de la personne A:
52.237828125-50=
2.237828125 - Bénéfice de la personne D:
57.88125-52.50=
5.38125 - Bénéfice de la personne J:
54.9871875-55.125=
-0.1378125
Production: A:2.24,D:5.38,J:-.14
round
les trucs de Python sont étrangement;5.125
arrondit à5.12
par défaut. Est-ce accepté?Réponses:
Japt,
9184 octetsBasé sur ma réponse JS. Essayez-le en ligne!
la source
Java, 277 octets
Non golfé:
la source
float
, cela économise des octets et pourrait vous faire un bénéfice supplémentaire;)JavaScript (ES7),
145142 octetsJe ne trouve pas de moyen plus court pour arrondir les résultats ...
Fait amusant: ce ne serait que de 101 octets si ce n'était pour l'exigence d'arrondi:
la source
Python 3, 116 octets
Non golfé
la source
u=2*(c>C)-1
directement.