Biorąc pod uwagę ciąg danych inwestycyjnych wielu osób, dowiedz się, ile zysków / strat odnotowali.
Ciąg zawiera tylko wielkie i małe litery, takie jak to:
AABaBbba
Każda litera reprezentuje osobę - duża litera oznacza kup, mała litera oznacza sprzedaż. Cena akcji, w którą inwestują (CGLF) zaczyna się od 50 USD. Po tym, jak ktoś kupi, cena wzrasta o 5%. Gdy ktoś sprzedaje, cena spada o 5%. Musisz dowiedzieć się, ile pieniędzy każda osoba, która wzięła udział, zarobiła / straciła.
Uwagi:
- Ciąg będzie zawsze ważny, bez sprzedaży bez pierwszego zakupu. Ponadto, każdy, kto kupi akcje, w końcu je sprzeda.
- Twoje obliczenia powinny być dokładne z dokładnością do co najmniej 6 miejsc po przecinku. Ostateczne odpowiedzi należy jednak zaokrąglić do dwóch miejsc po przecinku.
Przypadki testowe:
Wejście: AABaBbba
- Odp .: Kup - 50 USD
- Odp .: Kup - 52,50 USD
- B: Kup - 55,125 USD
- Odp .: Sprzedaj - 57,88125 USD
- B: Kup - 54,9871875 USD
- b: sprzedaj - 57,736546875 USD
- b: Sprzedaj - 54,8497195313 USD
- Odp .: Sprzedaj - 52,1072335547 $
- Zysk osoby A:
57.88125+52.1072335547-50-52.50=
7,4884835547 - Zysk osoby B:
57.736546875+54.8497195313-55.125-54.9871875=
2,4740789063
Wyjście: A:7.49,B:2.47
(kolejność nie ma znaczenia, separatory nie są wymagane)
Wejście: DGdg
- D: Kup - 50 USD
- G: Kup - 52,50 USD
- d: Sprzedaj - 55,125 USD
- g: Sprzedaj - 52,366875 USD
- Zysk osoby D:
55.125-50=
5,125 - Zysk osoby G:
52.36875-52.50=
-0,13125
Wynik: D:5.13,G:-.13
Wejście: ADJdja
- Odp .: Kup - 50 USD
- D: Kup - 52,50 USD
- J: Kup - 55,125 USD
- d: Sprzedaj - 57,88125 USD
- j: Sprzedaj - 54,9871875 $
- Odp .: Sprzedaj - 52,237828125 USD
- Zysk osoby A:
52.237828125-50=
2.237828125 - Zysk osoby D:
57.88125-52.50=
5,38125 - Zysk osoby J:
54.9871875-55.125=
-0,1378125
Wynik: A:2.24,D:5.38,J:-.14
round
rzeczy Pythona dziwnie;5.125
zaokrągla5.12
domyślnie. Czy to jest akceptowane?Odpowiedzi:
Japt,
9184 bajtówNa podstawie mojej odpowiedzi JS. Wypróbuj online!
źródło
Java, 277 bajtów
Nie golfowany:
źródło
float
, to oszczędza bajty i może przynieść ci dodatkowy zysk;)JavaScript (ES7),
145142 bajtówNie mogę znaleźć krótszego sposobu na zaokrąglenie wyników ...
Ciekawostka: byłoby to tylko 101 bajtów, gdyby nie wymóg zaokrąglania:
źródło
Python 3, 116 bajtów
Nie golfił
źródło
u=2*(c>C)-1
bezpośrednio.