### Project - Step-by-Step Solution to a Programming Problem

For the course project, you will **pick any programming problem of your choice**, solve it step-by-step, and explain your solution.

- Pick a problem from an online source (
**LeetCode**,**HackerRank**,**GeeksForGeeks**etc.) - Use the
**problem-solving template**to solve the problem step-by-step using the method youâve learned in this course -
**Document your solution**and**perform complexity analysis**by adding explanations to your Jupyter notebook - Publish your Jupyter notebook to your Jovian profile and share it with the community.
- Submit the link to your Jovian notebook
**here**.

### Evaluation Criteria

- You must use the starter notebook (problem-solving template)
- Your notebook should contain a problem statement and the link to the original source of the problem
- Your notebook should be marked as âPublicâ (not âSecretâ or âPrivateâ)
- Each step of the method should be implemented
- Your notebook should execute end to end without errors
- Your notebook should contain proper test cases
- Your notebook should contain proper explanations
- Your notebook should not be plagiarized from someone else. Please submit your own work.
- Your notebook should include complexity analysis
- The problem you pick should involve at least one optimization step, using one or more of the data structures and algorithms covered in this course.