We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 44b0e00 commit 7697b9bCopy full SHA for 7697b9b
c/0013-roman-to-integer.c
@@ -0,0 +1,42 @@
1
+int value(char c){
2
+
3
+ switch(c) {
4
+ case 'I': return 1;
5
+ case 'V': return 5;
6
+ case 'X': return 10;
7
+ case 'L': return 50;
8
+ case 'C': return 100;
9
+ case 'D': return 500;
10
+ case 'M': return 1000;
11
+ default: return 0;
12
+ }
13
+}
14
15
+int romanToInt(char * s){
16
+ int len = 0;
17
+ int sum = 0;
18
+ int valueCurrent, valueNext;
19
20
+ len = strlen(s);
21
22
+ for(int i=0; i<len; i++) {
23
24
+ valueCurrent = value(s[i]);
25
26
+ if((i+1) < len) {
27
+ valueNext = value(s[i+1]);
28
29
+ else {
30
+ valueNext = 0;
31
32
33
+ if(valueNext > valueCurrent) {
34
+ sum = sum - valueCurrent;
35
36
37
+ sum = sum + valueCurrent;
38
39
40
41
+ return sum;
42
0 commit comments