27 lines
788 B
Markdown
27 lines
788 B
Markdown
# penjumlahan_yang_dibatalkan
|
|
|
|
def proses_penjumlahan(urutan):
|
|
stack = []
|
|
for item in urutan:
|
|
if item == 'B':
|
|
if len(stack) >= 2:
|
|
stack.pop() # hapus penjumlahan terakhir
|
|
else:
|
|
angka = int(item)
|
|
if stack:
|
|
angka += stack[-1]
|
|
stack.append(angka)
|
|
return stack[-1] if stack else 0
|
|
|
|
## Input data dari soal
|
|
data_input = [
|
|
["2", "2", "B", "10", "7", "B", "5", "B", "11", "B"], # h#1
|
|
["1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1"], # h#2
|
|
["10", "B", "2", "B", "2", "B", "2"] # h#3
|
|
]
|
|
|
|
### Menjalankan program dan mencetak hasil
|
|
for idx, data in enumerate(data_input, 1):
|
|
hasil = proses_penjumlahan(data)
|
|
print(f"h#{idx}: {hasil}")
|