ট্র্যাক
/
SQLite
SQLite
/
অনুশীলনী
/
স্যাডল পয়েন্ট
স্যাডল পয়েন্ট

স্যাডল পয়েন্ট

কঠিন

ভূমিকা

আপনি আপনার বাড়ির কাছে বনের মধ্যে একটি গাছের ঘর বানানোর পরিকল্পনা করছেন, যাতে সূর্যোদয় ও সূর্যাস্ত দেখতে পারেন।

স্থানীয় একটি জরিপ কোম্পানি থেকে আপনি এমন তথ্য পেয়েছেন, যেখানে মানচিত্রের প্রতিটি আয়তাকার অংশে থাকা প্রতিটি গাছের উচ্চতা দেখানো হয়েছে। গাছের ঘরের জন্য ভালো গাছ খুঁজে পেতে আপনাকে মানচিত্রের প্রতিটি গ্রিড বিশ্লেষণ করতে হবে।

একটি ভালো গাছ হতে হলে দুটোই লাগবে:

  • পূর্ব ও পশ্চিমের প্রতিটি গাছের চেয়ে উঁচু, যাতে সূর্যোদয় ও সূর্যাস্তের যতটা সম্ভব ভালো দৃশ্য আপনি পেতে পারেন।
  • উত্তর ও দক্ষিণের প্রতিটি গাছের চেয়ে খাটো, যাতে গাছে ওঠার পরিমাণ কম হয়।

নির্দেশনা

আপনার কাজ হলো সম্ভাব্য সেই গাছগুলো খুঁজে বের করা যেখানে আপনি আপনার গাছের ঘর বানাতে পারবেন।

ডেটা কোম্পানি এমন গ্রিড হিসেবে ডেটা দেয় যেগুলো গাছের উচ্চতা দেখায়। গ্রিডের সারিগুলো পূর্ব-পশ্চিম দিক বোঝায়, আর কলামগুলো উত্তর-দক্ষিণ দিক বোঝায়।

একটি গ্রহণযোগ্য গাছ তার সারিতে সবচেয়ে বড় হবে, আবার তার কলামে সবচেয়ে ছোট হবে।

কোনো গ্রিডে একেবারেই ভালো গাছ নাও থাকতে পারে। অথবা একটিও থাকতে পারে, এমনকি কয়েকটিও।

এখানে একটি গ্রিড আছে যেখানে ঠিক একটি প্রার্থী গাছ আছে।

      ↓
      1  2  3  4
    |-----------
  1 | 9  8  7  8
→ 2 |[5] 3  2  4
  3 | 6  6  7  1
  • সারি ২-এ মানগুলো ৫, ৩, ২ আর ৪। সবচেয়ে বড় মানটি ৫।
  • কলাম ১-এ মানগুলো ৯, ৫ আর ৬। সবচেয়ে ছোট মানটি ৫।

তাই [2, 1] বিন্দুটি (সারি: ২, কলাম: ১) গাছের ঘর বানানোর জন্য দারুণ একটি জায়গা।

  • matrix কলামে ইনপুট থাকে, যা JSON-এনকোড করা ইন্টিজারের অ্যারের অ্যারে।
  • result কলামে আউটপুট থাকা উচিত, অর্থাৎ স্যাডল পয়েন্টের অ্যারে। আউটপুটটি JSON-এনকোড করা অবজেক্টের অ্যারে হওয়া উচিত; প্রতিটি অবজেক্টে দুটি কী (key) থাকে: row এবং column। যেমন, [{"row": 2, "column": 1}].

JSON ডকুমেন্টেশন

SQLite-এর JSON ফাংশনগুলোর জন্য JSON Functions And Operators দেখুন।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
SQLite Exercism

স্যাডল পয়েন্ট শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, SQLite ট্র্যাকের 81টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।