हममें से हर व्यक्ति को अपने जैविक माता-पिता से DNA के रूप में जानी जाने वाली रासायनिक सूचनाओं का एक समूह विरासत में मिलता है, जो तय करता है कि हमारा शरीर किस तरह बनता है। ज्ञात सारा जीवन DNA पर निर्भर है!
ध्यान दें: इस अभ्यास को पूरा करने के लिए आपको न्यूक्लियोटाइड या DNA के बारे में कुछ भी समझने की ज़रूरत नहीं है।
DNA अन्य रसायनों की एक लंबी शृंखला है, और इनमें सबसे महत्वपूर्ण हैं चार न्यूक्लियोटाइड: एडेनीन, साइटोसीन, ग्वानीन और थाइमीन। DNA की एक अकेली शृंखला में इन चार न्यूक्लियोटाइड की अरबों प्रतियाँ हो सकती हैं, और यह बहुत मायने रखता है कि वे किस क्रम में आती हैं! DNA के किसी हिस्से में इन न्यूक्लियोटाइड के इसी क्रम को हम "DNA सीक्वेंस" कहते हैं।
हम एक DNA सीक्वेंस को इन चार न्यूक्लियोटाइड के एक क्रमबद्ध संग्रह के रूप में दर्शाते हैं, और ऐसा करने का एक आम तरीका है अक्षरों की एक स्ट्रिंग, जैसे छह न्यूक्लियोटाइड वाले DNA सीक्वेंस के लिए "ATTACG"। यहाँ 'A' का मतलब एडेनीन, 'C' का साइटोसीन, 'G' का ग्वानीन और 'T' का थाइमीन है।
आपको एक ऐसी स्ट्रिंग दी जाएगी जो एक DNA सीक्वेंस को दर्शाती है। गिनिए कि हर न्यूक्लियोटाइड कितनी बार आता है। अगर स्ट्रिंग में A, C, G या T के अलावा कोई और अक्षर है, तो वह अमान्य है और आपको एरर का संकेत देना चाहिए।
उदाहरण के लिए:
"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2
"INVALID" -> error
इनपुट स्ट्रिंग के लिए बफर लीनियर मेमोरी के बाइट 64-319 इस्तेमाल करता है।
परिणाम को चार एलिमेंट वाले टपल के रूप में लौटाना चाहिए: (i32 i32 i32 i32)। हर संख्या इन अक्षरों की गिनती बताती है: A, C, G और T, इसी क्रम में।
Exercism पर साइन अप कीजिए और WebAssembly को 87 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।