MCPcopy Create free account
hub / github.com/Ayush7614/Daily-Coding-DS-ALGO-Practice / romanToInt

Method romanToInt

Leetcode/C++/RomanToInt.cpp:59–118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57{
58public:
59 int romanToInt(string str)
60 {
61 ios_base::sync_with_stdio(false);
62 cin.tie(nullptr);
63 cout.tie(nullptr);
64
65 int ret= 0;
66 int n= str.size();
67 for (int i=n-1; i>=0; i--)
68 {
69 switch (str[i])
70 {
71 case 'I':
72 if (i+1<n and (str[i+1]=='V' or str[i+1]=='X'))
73 {
74 ret-= 1;
75 break;
76 }
77 ret+= 1;
78 break;
79
80 case 'V':
81 ret+= 5;
82 break;
83
84 case 'X':
85 if (i+1<n and (str[i+1]=='L' or str[i+1]=='C'))
86 {
87 ret-= 10;
88 break;
89 }
90 ret+= 10;
91 break;
92
93 case 'L':
94 ret+= 50;
95 break;
96
97 case 'C':
98 if (i+1<n and (str[i+1]=='D' or str[i+1]=='M'))
99 {
100 ret-= 100;
101 break;
102
103 }
104 ret+= 100;
105 break;
106
107 case 'D':
108 ret+= 500;
109 break;
110
111 case 'M':
112 ret+= 1000;
113 break;
114 }
115 }
116

Callers 1

mainFunction · 0.80

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected