आसान 0 हल किए गए 0% स्वीकृति

Roman Numeral Value

Convert a Roman numeral to a number.

आप क्या सीखेंगे

  • Map symbols to values with a dictionary
  • Handle subtractive pairs like IV and XC
  • Scan a string while looking at the next character

समस्या

अनुवाद दिखाएँ

Convert a valid Roman numeral to its value. Symbols are I=1, V=5, X=10, L=50, C=100, D=500, M=1000; a smaller symbol before a larger one is subtracted (IV = 4, CM = 900).

Implement roman_to_int(text).

Input

text: A valid Roman numeral.

Output

Return its value.

सीमाएँ

1 ≤ value ≤ 3,999

उदाहरण

उदाहरण 1
इनपुट:
text = "XIV"

अपेक्षित आउटपुट:
expected = 14
इनपुट:
std::string text = "XIV";

अपेक्षित आउटपुट:
long long expected = 14;
इनपुट:
string text = "XIV";

अपेक्षित आउटपुट:
long expected = 14;

व्याख्या

X = 10, IV = 4: 14.

उदाहरण 2
इनपुट:
text = "MCMXCIV"

अपेक्षित आउटपुट:
expected = 1994
इनपुट:
std::string text = "MCMXCIV";

अपेक्षित आउटपुट:
long long expected = 1994;
इनपुट:
string text = "MCMXCIV";

अपेक्षित आउटपुट:
long expected = 1994;

व्याख्या

M=1000, CM=900, XC=90, IV=4: 1994.

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

Most symbols add their value, but some pairs subtract when a smaller symbol appears before a larger one.

संकेत 2

Process the numeral from left to right and compare each symbol with the next one.

संकेत 3

Make sure the last symbol is always handled correctly since it has no follower.

अपेक्षित जटिलता

O(n) time, O(1) extra space

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।