কিন্ডারগার্টেনের ক্লাসে শিশুরা গাছ জন্মানো সম্পর্কে শিখছে। শিক্ষক ভাবলেন, মাটিতে লাগিয়ে গাছ বড় করার জন্য ক্লাসের শিশুদের বীজ দিলে ভালো হবে। এই উদ্দেশ্যে শিশুরা জানালার সিল বরাবর ছোট ছোট কাপ রেখেছে এবং প্রতিটি কাপে এক ধরনের গাছ লাগিয়েছে। চার ধরনের বীজের মধ্যে থেকে শিশুরা নিজেদের পছন্দেরটি বেছে নিতে পেরেছে: grass, clover, radishes, and violets.
আপনার কাজ হলো, একটি ডায়াগ্রাম দেখে নির্ধারণ করা কিন্ডারগার্টেন ক্লাসের প্রতিটি শিশু কোন গাছের দায়িত্বে আছে।
ক্লাসে ১২ জন শিশু আছে:
চার ধরনের বীজ রোপণ করা হয়:
| গাছ | ডায়াগ্রামে এনকোডিং |
|---|---|
| Grass | G |
| Clover | C |
| Radish | R |
| Violet | V |
প্রতিটি শিশু চারটি কাপ পায়, প্রতি সারিতে দুটি:
[window][window][window]
........................ # each dot represents a cup
........................
তাদের শিক্ষক শিশুদের নামের বর্ণানুক্রমে কাপ বরাদ্দ করেন, অর্থাৎ Alice প্রথমে এবং Larry সবার শেষে আসে।
Alice-এর গাছগুলো দেখানো একটি উদাহরণ ডায়াগ্রাম এখানে:
[window][window][window]
VR......................
RG......................
প্রথম সারিতে, জানালার সবচেয়ে কাছে, তার একটি violet ও একটি radish আছে। দ্বিতীয় সারিতে তার একটি radish ও কিছু grass আছে।
আপনার প্রোগ্রামকে জানালার সবচেয়ে কাছের সারি থেকে শুরু করে বাম থেকে ডানে গাছগুলো দেওয়া হবে। এটি থেকে, কোন গাছ কোন শিক্ষার্থীর তা নির্ধারণ করতে পারবে।
উদাহরণস্বরূপ, যদি বলা হয় বাগানটি এমন দেখতে:
[window][window][window]
VRCGVVRVCGGCCGVRGCVCGCGV
VRCCCGCRRGVCGCRVVCVGCGCV
তাহলে Alice-এর গাছ চাওয়া হলে, এটি দেবে:
আর Bob-এর গাছ চাইলে পাওয়া যাবে:
diagram আর্গুমেন্টটি প্রতিটি সারি শুরু করে একটি \n দিয়ে।
এর ফলে Go-এর র স্ট্রিং লিটারাল দিয়ে সোর্স কোডে ডায়াগ্রামগুলোকে বাঁ দিকে সমানভাবে দুটি সারি হিসেবে সুন্দরভাবে উপস্থাপন করা যায়।
উদাহরণস্বরূপ, টেস্টে নিচের কোডটি থাকতে পারে।
diagram := `
VVCCGG
VVCCGG`
children আর্গুমেন্টটি nil হলে, উপরের নির্দেশনায় দেওয়া শিশুদের তালিকাটি ব্যবহার করুন।
আর এটি nil না হলে, দেওয়া মানটি ব্যবহার করুন।
Exercism-এ সাইন আপ করুন, Go ট্র্যাকের 34টি কনসেপ্ট165টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।