Skip to content

Problems — Level 0: Absolute Basics

এই folder-এ Level 0-এর 10টা problem-এর note থাকবে। প্রতিটা problem-এর জন্য আলাদা একটা .md file — সেখানে থাকবে নিজের ভাষায় problem বোঝা, intuition, dry run, code, আর ভুল থেকে শেখা।

কীভাবে problem গুলো use করবে?

প্রতিটা problem-এর note লেখা হয় ../../../templates/math-problem-note-template.md follow করে — ২০টা section-এর একটা template, যেখানে problem বোঝা থেকে শুরু করে brute force → optimization → dry run → complexity → "ভবিষ্যতের আমাকে এক লাইনে কী বলব" পর্যন্ত সব ধাপ আছে। শুরুতে template-টা একবার পড়ে নাও — তাহলে বুঝবে একটা problem-কে কতগুলো দিক থেকে দেখা যায়।

নিয়মটা সহজ:

  1. Table থেকে একটা problem নাও (recommended order ../README.md-তে আছে)
  2. আগে নিজে খাতায় solve করার চেষ্টা করো — অন্তত 20-30 মিনিট
  3. তারপর note file বানাও/পড়ো, নিজের approach-এর সাথে মেলাও
  4. Solve হয়ে গেলে Status planned থেকে done করে দাও

Tracker table

# Problem Difficulty Pattern Inherits from Source Note file Status
001 Even or Odd Easy parity / last bit Classic exercise (related: CF 4A Watermelon — https://codeforces.com/problemset/problem/4/A) 001-even-or-odd.md done
002 Sum of Digits Easy digit extraction 001 Classic exercise 002-sum-of-digits.md done
003 Count Digits Easy digit extraction 002 Classic exercise 003-count-digits.md done
004 Reverse Number Easy number building 002 Classic (related: LeetCode Reverse Integer — https://leetcode.com/problems/reverse-integer/) 004-reverse-number.md planned
005 Palindrome Number Easy reverse + compare 004 LeetCode — https://leetcode.com/problems/palindrome-number/ 005-palindrome-number.md planned
006 Armstrong Number Easy digit power sum 002 Classic exercise 006-armstrong-number.md planned
007 Digital Root Easy repeated digit sum, mod 9 002 Related: LeetCode Add Digits — https://leetcode.com/problems/add-digits/ 007-digital-root.md planned
008 Find Last Digit Easy mod 10 001 Classic exercise 008-find-last-digit.md planned
009 Power of 10 Check Easy repeated division 003 Classic exercise 009-power-of-10-check.md planned
010 Number Pattern Printing Easy nested loops Classic exercise (HackerRank-style warmup) 010-number-pattern-printing.md planned

"Inherits from" column-টা কী?

প্রতিটা problem আগের কোনো problem-এর কাঁধে দাঁড়িয়ে আছে। যেমন 005 (Palindrome) আসলে 004 (Reverse)-এরই extension — reverse বানিয়ে original-এর সাথে মেলানো। কোনো problem-এ আটকে গেলে আগে তার "Inherits from" problem-টা আবার দেখো — অনেক সময় সেখানেই উত্তরের অর্ধেক লুকিয়ে থাকে।

001 (parity) ──> 008 (last digit)
002 (digit sum) ──> 003 (count) ──> 009 (power of 10)
   ├──> 004 (reverse) ──> 005 (palindrome)
   ├──> 006 (armstrong)
   └──> 007 (digital root)

010 (pattern printing) — আলাদা শাখা, nested loop-এর হাতেখড়ি

একটা ছোট পরামর্শ

Easy problem দেখে "এটা তো পারিই" বলে skip কোরো না। এই level-এর লক্ষ্য সমাধান না — গতি আর নির্ভুলতা। Even or Odd ৩০ সেকেন্ডে bug-free লিখতে পারা, আর digit extraction loop চোখ বন্ধ করে dry run করতে পারা — এটাই এখানকার জয়। পরের level গুলোতে এই loop গুলোই বারবার ফিরবে, তখন এগুলো নিয়ে ভাবার সময় থাকবে না।

Concept ঝালাই করতে হলে → ../concept-notes.md। ছবি এঁকে বুঝতে চাইলে → [../visualization