This repository is dedicated to solving Data Structures & Algorithms (DSA) problems from beginner to advanced level in 60 days.
Each day contains 5 questions inside its respective folder (Day1
, Day2
, ... Day60
).
60Days-DSA-Challenge/ │── Day1/ │ └── README.md │── Day2/ │ └── README.md │── ... |── README.md
Each DayX/README.md
contains:
- Problem Description
- Sample Input/Output (bash style)
- Step-by-step progression from basic → advanced
- Go to the respective DayX folder (e.g.,
Day1/
). - Inside it, create a folder for the language you want to solve in:
Java/
CPP/
Python/
- etc.
- Inside that folder, create files for each question with the following naming convention:
Que1.java
Que2.cpp
Que3.py
- etc.
✅ Example structure for Day 1:
Day1/
│── Questions.md
│── Java/
│ ├── Que1.java
│ ├── Que2.java
│── CPP/
│ ├── Que1.cpp
│ ├── Que2.cpp
│── Python/
│ ├── Que1.py
│ ├── Que2.py
We welcome contributions! Follow these steps to make a proper Pull Request (PR):
-
Fork the repository
-
Clone your forked repo
git clone https://github.com/<your-username>/60Days-DSA-Challenge.git
-
Create a new branch for your work
(OPTIONAL)
git checkout -b day1-solutions
-
Add your solution files inside the correct folder (e.g., Day1/Java/Que1.java)
-
Commit your changes
git add . git commit -m "Day 1 solutions in Java"
-
Push to your fork
- if branch created
git push origin day1-solutions
- if branch not created
git push origin main
-
Open a Pull Request (PR) with the title:
Day 1 Solutions in Java (UserName)
- Strengthen problem-solving skills
- Build consistency with daily practice
- Cover topics:
- Math & Logical
- Sorting & Searching
- Arrays & Strings
- Recursion & Backtracking
- Linked List, Stack, Queue
- Trees & Graphs
- Dynamic Programming
- Advanced Concepts
- Day 1 → Math & Logic Basics
- Day 2 → Math & Logic
- Day 3 → Math & Logic
- …
- Day 60 → Advanced DSA
💡 Keep solving, keep learning!