aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHVukman <peterslopp@googlemail.com>2025-08-30 18:46:27 +0200
committerGitHub <noreply@github.com>2025-08-30 18:46:27 +0200
commit4074b6ee7df5f48b74944128b08dd871eda850d5 (patch)
tree7b19573ffc3c2ee6005a8167e1e620782782e30e
parentae538455b0491a2d1498dad507444b53c7db680a (diff)
downloadperlweeklychallenge-club-4074b6ee7df5f48b74944128b08dd871eda850d5.tar.gz
perlweeklychallenge-club-4074b6ee7df5f48b74944128b08dd871eda850d5.tar.bz2
perlweeklychallenge-club-4074b6ee7df5f48b74944128b08dd871eda850d5.zip
Add files via upload
-rw-r--r--challenge-336/hvukman/lua/336_p2.lua36
1 files changed, 36 insertions, 0 deletions
diff --git a/challenge-336/hvukman/lua/336_p2.lua b/challenge-336/hvukman/lua/336_p2.lua
new file mode 100644
index 0000000000..7943f876d7
--- /dev/null
+++ b/challenge-336/hvukman/lua/336_p2.lua
@@ -0,0 +1,36 @@
+local scores = {"5","-2","4","C","D","9","+","+"}
+
+function Final_score(x)
+ local score = 0
+ local prev = {}
+ local res = {}
+
+ for i=1,#x do
+ if (tonumber(x[i])) then
+ table.insert(prev,x[i])
+ table.insert(res,x[i])
+ elseif scores[i]=="C" then
+ table.remove(prev)
+ table.remove(res)
+ elseif scores[i]=="D" then -- double previous score
+ local last = prev[#prev]
+ table.insert(res,last*2)
+ table.insert(prev,last*2)
+ elseif scores[i]=="+" then -- add last two scores
+ local last = prev[#prev]
+ local last2 = prev[#prev-1]
+ table.insert(res,last+last2)
+ table.insert(prev,last+last2)
+ end
+ end
+
+
+ for _,v in ipairs(res) do
+ print(v)
+ score= score + v
+ end
+
+ print("score ", score)
+end
+
+Final_score(scores) \ No newline at end of file