सभी चुनौतियाँ
आसान 0 हल किए गए 0% स्वीकृति

सपाट JSON ऑब्जेक्ट का जोड़

ऐसे flat JSON object को parse करें जिनके values integers हैं और values का कुल जोड़ निकालें।

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

  • JSON टेक्स्ट से की-वैल्यू जोड़ियाँ पढ़ना
  • स्पेस और ऋणात्मक संख्याएँ संभालना
  • मानों को 64-बिट पूर्णांक में जोड़ना

समस्या

Programs अक्सर ऐसा JSON प्राप्त करते हैं जैसे {"apples": 3, "pears": 5}। System.Text.Json जैसी libraries इसे आपके लिए parse करती हैं, लेकिन हाथ से एक simple case parse करना दिखाता है कि format कैसे काम करता है।

Input एक flat JSON object है: {, फिर zero या more "key": value pairs, जो commas से separated होते हैं, फिर }। Keys quoted होती हैं और उनमें quotes, commas या colons नहीं होते; values integers होते हैं, संभवतः negative। Symbols के आसपास spaces आ सकते हैं।

sum_json_numbers(text) implement करें।

Input

text: JSON object।

Output

सभी values का sum return करें (empty object के लिए 0)।

सीमाएँ

2 ≤ टेक्स्ट की लंबाई ≤ 100,000

अधिकतम 10,000 जोड़ियाँ; हर मान और जोड़ 64-बिट पूर्णांक में आते हैं

उदाहरण

उदाहरण 1
इनपुट:
text = "{\"apples\": 3, \"pears\": 5}"

अपेक्षित आउटपुट:
expected = 8
इनपुट:
std::string text = "{\"apples\": 3, \"pears\": 5}";

अपेक्षित आउटपुट:
long long expected = 8;
इनपुट:
string text = "{\"apples\": 3, \"pears\": 5}";

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

व्याख्या

3 + 5 = 8.

उदाहरण 2
इनपुट:
text = "{ \"debt\" : -20 , \"cash\":15 }"

अपेक्षित आउटपुट:
expected = -5
इनपुट:
std::string text = "{ \"debt\" : -20 , \"cash\":15 }";

अपेक्षित आउटपुट:
long long expected = -5;
इनपुट:
string text = "{ \"debt\" : -20 , \"cash\":15 }";

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

व्याख्या

Symbols के आसपास spaces कोई फर्क नहीं डालते: −20 + 15 = −5.

कैसे हल करें

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

संकेत 1

ब्रेसेस हटाएँ, फिर कॉमा पर जोड़ियाँ बाँटें।

संकेत 2

हर मान कोलन के बाद का टेक्स्ट है; बदलने से पहले स्पेस हटाएँ।

संकेत 3

64-बिट पूर्णांक इस्तेमाल करें और खाली ऑब्जेक्ट के लिए 0 लौटाएँ।

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

समय O(टेक्स्ट की लंबाई), अतिरिक्त स्थान O(1)

संदर्भ

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

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

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

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