Diberikan string dengan data investasi beberapa orang, cari tahu berapa untung / rugi yang mereka catat.
String hanya berisi huruf kapital dan huruf kecil, seperti ini:
AABaBbba
Setiap huruf mewakili seseorang - huruf kapital berarti membeli, huruf kecil berarti menjual. Harga saham yang mereka investasikan (CGLF) mulai dari $ 50. Setelah seseorang membeli, harganya naik 5%. Setelah seseorang menjual harganya turun 5%. Anda perlu mencari tahu berapa banyak uang yang dihasilkan / hilang setiap orang.
Catatan:
- String akan selalu valid, tidak ada penjualan tanpa pembelian terlebih dahulu. Juga, setiap orang yang membeli saham pada akhirnya akan menjualnya.
- Perhitungan Anda harus akurat hingga setidaknya 6 tempat desimal. Namun, jawaban akhir harus dibulatkan menjadi dua desimal.
Kasus uji:
Memasukkan: AABaBbba
- A: Beli - $ 50
- A: Beli - $ 52,50
- B: Beli - $ 55,125
- a: Jual - $ 57,88125
- B: Beli - $ 54.9871875
- b: Jual - $ 57,736546875
- b: Jual - $ 54.8497195313
- a: Jual - $ 52,1072335547
- Orang yang mendapat untung:
57.88125+52.1072335547-50-52.50=
7.4884835547 - Keuntungan Orang B:
57.736546875+54.8497195313-55.125-54.9871875=
2.4740789063
Output: A:7.49,B:2.47
(pesanan tidak masalah, pemisah tidak diperlukan)
Memasukkan: DGdg
- D: Beli - $ 50
- G: Beli - $ 52,50
- d: Jual - $ 55,125
- g: Jual - $ 52.36875
- Keuntungan Orang D:
55.125-50=
5.125 - Laba Orang G:
52.36875-52.50=
-0,13125
Keluaran: D:5.13,G:-.13
Memasukkan: ADJdja
- A: Beli - $ 50
- D: Beli - $ 52,50
- J: Beli - $ 55,125
- d: Jual - $ 57,88125
- j: Jual - $ 54.9871875
- a: Jual - $ 52.237828125
- Keuntungan Orang A:
52.237828125-50=
2.237828125 - Orang D untung:
57.88125-52.50=
5.38125 - Orang J untung:
54.9871875-55.125=
-0.1378125
Keluaran: A:2.24,D:5.38,J:-.14
round
hal-hal Python aneh;5.125
putaran ke5.12
secara default. Apakah ini diterima?Jawaban:
Japt,
9184 byteBerdasarkan jawaban JS saya. Cobalah online!
sumber
Java, 277 byte
Tidak Terkumpul:
sumber
float
, ini menghemat byte dan mungkin memberi Anda keuntungan ekstra;)JavaScript (ES7),
145142 byteSaya tidak dapat menemukan cara yang lebih singkat untuk melengkapi hasilnya ...
Fakta menyenangkan: ini hanya akan menjadi 101 byte jika bukan karena persyaratan pembulatan:
sumber
Python 3, 116 byte
Tidak disatukan
sumber
u=2*(c>C)-1
secara langsung.