Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <unordered_map>
- #include <string>
- using namespace std;
- class Solution {
- public:
- int romanToInt(string s) {
- unordered_map<char, int> romanVal = {
- {'I', 1},
- {'V', 5},
- {'X', 10},
- {'L', 50},
- {'C', 100},
- {'D', 500},
- {'M', 1000}
- };
- int sum = romanVal[s.back()];
- for (int i = s.size() - 2; i >= 0; --i)
- {
- if (romanVal[s[i]] < romanVal[s[i + 1]])
- {
- sum -= romanVal[s[i]];
- }
- else
- {
- sum += romanVal[s[i]];
- }
- }
- return sum;
- }
- };
- int main(void)
- {
- Solution s;
- string romanNum;
- cout << "Roman Number: ";
- getline(cin, romanNum);
- cout << "Integer Number: " << s.romanToInt(romanNum) << "\n\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement