समस्या
JSON वह टेक्स्ट फ़ॉर्मेट है जिससे ज़्यादातर प्रोग्राम डेटा का आदान-प्रदान करते हैं। JSON ऑब्जेक्ट {"key": "value", ...} की तरह लिखा जाता है।
कुंजियों और मानों की मेल खाती लिस्ट (सब टेक्स्ट) से इसी सटीक फ़ॉर्मेट में JSON ऑब्जेक्ट स्ट्रिंग बनाएँ:
{से शुरू करें और}पर खत्म करें।- हर जोड़ी को
"key": "value"लिखें, दिए गए क्रम में,,(कॉमा और स्पेस) से अलग करके। - स्ट्रिंग के अंदर बैकस्लैश
\को\\और डबल कोट"को\"लिखें। बाकी कैरेक्टर जैसे हैं वैसे रहेंगे।
json_object_string(keys, values) लिखें।
इनपुट
keys, values: एक ही लंबाई की लिस्ट।
आउटपुट
JSON टेक्स्ट लौटाएँ। खाली ऑब्जेक्ट {} होता है।
सीमाएँ
0 ≤ जोड़ियों की संख्या ≤ 100
कुंजियों और मानों में अधिकतम 50 प्रिंट होने वाले कैरेक्टर
उदाहरण
इनपुट:
keys = ["name", "city"]
values = ["Ada", "London"]
अपेक्षित आउटपुट:
expected = "{\"name\": \"Ada\", \"city\": \"London\"}"
इनपुट:
std::vector<std::string> keys = {"name", "city"};
std::vector<std::string> values = {"Ada", "London"};
अपेक्षित आउटपुट:
std::string expected = "{\"name\": \"Ada\", \"city\": \"London\"}";
इनपुट:
string[] keys = new string[] {"name", "city"};
string[] values = new string[] {"Ada", "London"};
अपेक्षित आउटपुट:
string expected = "{\"name\": \"Ada\", \"city\": \"London\"}";
व्याख्या
हर जोड़ी "key": "value" बन जाती है: {"name": "Ada", "city": "London"}।
इनपुट:
keys = ["quote"]
values = ["say \"hi\""]
अपेक्षित आउटपुट:
expected = "{\"quote\": \"say \\\"hi\\\"\"}"
इनपुट:
std::vector<std::string> keys = {"quote"};
std::vector<std::string> values = {"say \"hi\""};
अपेक्षित आउटपुट:
std::string expected = "{\"quote\": \"say \\\"hi\\\"\"}";
इनपुट:
string[] keys = new string[] {"quote"};
string[] values = new string[] {"say \"hi\""};
अपेक्षित आउटपुट:
string expected = "{\"quote\": \"say \\\"hi\\\"\"}";
व्याख्या
मान के अंदर के कोट बैकस्लैश से एस्केप होते हैं: {"quote": "say \"hi\""}।
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
हर "key": "value" जोड़ी अलग बनाएँ, फिर उन्हें जोड़ें।
संकेत 2
कोट से पहले बैकस्लैश एस्केप करें, ताकि अपने ही एस्केप दोबारा एस्केप न हों।
संकेत 3
खाली इनपुट में भी ब्रेसेस चाहिए: {}।
अपेक्षित जटिलता
समय O(कुल लंबाई), अतिरिक्त स्थान O(कुल लंबाई)
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।