আপনি উচ্চ বিদ্যালয়ের শিক্ষার্থীদের বিদেশি ভাষা হিসেবে ইংরেজি শেখান।
আপনি সিদ্ধান্ত নিয়েছেন যে আপনার পুরো পাঠ্যক্রম টিভি শো-এর উপর ভিত্তি করে সাজাবেন। তাই কোন শব্দগুলো ব্যবহৃত হয় আর সেগুলো কতবার পুনরাবৃত্তি হয়, তা আপনাকে বিশ্লেষণ করতে হবে।
এতে আপনি শুরু করার জন্য সবচেয়ে সহজ শোগুলো বেছে নিতে পারবেন, আর সময়ের সাথে সাথে ধীরে ধীরে কঠিনতাও বাড়াতে পারবেন।
আপনার কাজ হলো একটি নাটকের সাবটাইটেলে প্রতিটি শব্দ কতবার এসেছে তা গণনা করা।
এই নাটকগুলোর সাবটাইটেলে কেবল ASCII অক্ষর ব্যবহার করা হয়।
চরিত্রগুলো প্রায়ই সহজ-সরল ইংরেজিতে কথা বলে, they're বা it's-এর মতো সংকোচন ব্যবহার করে। যদিও এই সংকোচনগুলো দুটি শব্দ থেকে আসে (যেমন we are), সংকোচনটি (we're) একটি একক শব্দ হিসেবেই বিবেচিত হয়।
শব্দগুলো যেকোনো ধরনের যতিচিহ্ন (যেমন ":", "!" বা "?") বা হোয়াইটস্পেস (যেমন "\t", "\n" বা " ") দিয়ে আলাদা করা যায়। একমাত্র যে যতিচিহ্নটি শব্দ আলাদা করে না, তা হলো সংকোচনের ভেতরের অ্যাপোস্ট্রফি।
সংখ্যাগুলোও শব্দ হিসেবে বিবেচিত হয়। সাবটাইটেলে যদি It costs 100 dollars. লেখা থাকে, তাহলে 100 আলাদা একটি শব্দ হবে।
শব্দে ছোট-বড় হাতের অক্ষরের পার্থক্য নেই। যেমন, নিচের বাক্যটিতে you শব্দটি তিনবার এসেছে:
You come back, you hear me? DO YOU HEAR ME?
ফলাফলে শব্দগুলোর গণনা যে ক্রমে থাকবে, তা গুরুত্বপূর্ণ নয়।
এখানে একটি উদাহরণ দেওয়া হলো, যেখানে উপরে আলোচিত কয়েকটি বিষয় একসাথে আছে:
"That's the password: 'PASSWORD 123'!", cried the Special Agent.\nSo I fled.
এই সাবটাইটেলের ম্যাপিং হবে:
123: 1
agent: 1
cried: 1
fled: 1
i: 1
password: 2
so: 1
special: 1
that's: 1
the: 2
result কলামে JSON-এনকোড করা অবজেক্টের অবজেক্ট থাকা উচিত, যেখানে প্রতিটি শব্দ কী (key) হিসেবে আর তার গণনা ইন্টিজার হিসেবে থাকবে।
উদাহরণস্বরূপ, উপরের বাক্যটি ধরুন: "That's the password: 'PASSWORD 123'!", cried the Special Agent.\nSo I fled.
এই ইনপুটের জন্য result হবে:
{"123":1,"agent":1,"cried":1,"fled":1,"i":1,"password":2,"so":1,"special":1,"that's":1,"the":2}
CREATE TABLE "word-count" (
sentence TEXT NOT NULL,
result TEXT -- json object
);
Exercism-এ সাইন আপ করুন, SQLite ট্র্যাকের 81টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।