From 980850cc33f81001f909871e44ba53574522933e Mon Sep 17 00:00:00 2001 From: Naresh <58628794+ortin779@users.noreply.github.com> Date: Mon, 16 Sep 2024 23:20:57 +0530 Subject: [PATCH] Create Roman to integer - Leetcode 13.go go solution to Roman to integer --- .../Roman to integer - Leetcode 13.go | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Roman to Integer - Leetcode 13/Roman to integer - Leetcode 13.go diff --git a/Roman to Integer - Leetcode 13/Roman to integer - Leetcode 13.go b/Roman to Integer - Leetcode 13/Roman to integer - Leetcode 13.go new file mode 100644 index 0000000..f5bc802 --- /dev/null +++ b/Roman to Integer - Leetcode 13/Roman to integer - Leetcode 13.go @@ -0,0 +1,35 @@ +package solution + +func romanToInt(s string) int { + val := 0 + prevVal := 1 + for i := len(s) - 1; i >= 0; i-- { + sVal := symbolVal(s[i]) + if prevVal > sVal { + val -= sVal + } else { + val += sVal + } + prevVal = sVal + } + return val +} + +func symbolVal(symbol byte) int { + switch symbol { + case 'M': + return 1000 + case 'D': + return 500 + case 'C': + return 100 + case 'L': + return 50 + case 'X': + return 10 + case 'V': + return 5 + default: + return 1 + } +}