/Hacktoberfest-Coding-Challenges

This repository is dedicated to solving and sharing coding problems from platforms like CodeForces, LeetCode, GeeksforGeeks, Atcoder and CodeChef, etc. Contribute new coding questions, learn from the community, and boost your problem-solving skills while participating in Hacktoberfest! Welcome to

Primary LanguageC++MIT LicenseMIT

Hacktoberfest-Coding-Challenges

Hacktoberfest Contribution Guidelines

Welcome to the Hacktoberfest repository! πŸŽ‰ We're excited to have you participate and contribute to open-source projects. Please follow the guidelines outlined below to ensure a smooth and rewarding experience for everyone.

πŸ“œ Contribution Guidelines

  1. Contribute New Problems Only:
    You can make a pull request only for a new problem statement. Solutions to already existing problems will be marked as invalid and rejected.

  2. Problem Source:
    Problems can be taken from any reputable coding platform like CodeChef, CodeForces, LeetCode, HackerRank, etc. Please ensure you mention the source in your problem file.

  3. File Naming Convention:

    • The file name should be the exact name of the question.
    • If the question name contains spaces, replace the spaces with underscores (_).
    • Follow abbrev. CF - CodeForces, CC - CodeChef, LT - LeetCode, HR - Hackerrank, GFG - GeekForGeeks, etc
    • Add the appropriate file extension based on the language used:
      • For example, if the question is "Score More Buddy" on Codeforce, rename it as CF_Score_More_Buddy.cpp, CF_Score_More_Buddy.java, CF_Score_More_Buddy.py, or CF_Score_More_Buddy.c based on the language of your choice.
  4. Adding the Problem Link:

    • At the top of your code, include a link to the problem statement as a comment.
    • This helps reviewers validate your solution and ensures the contribution adheres to the problem's context.
    • Example:
      // Problem Link: https://www.hackerrank.com/challenges/score-more-buddy/problem
  5. Avoid Irrelevant Submissions:

    • Any irrelevant contributions will be marked as spam and reported.
    • Examples include multiple trivial changes, unrelated files, or repetitive solutions to simple problems.

πŸš€ How to Contribute for First-Time Contributors

If you’re new to GitHub and open-source contributions, follow these simple steps to get started:

  1. Fork the Repository:

    • Click the Fork button at the top right of this repository.
    • This creates a copy of the repository in your GitHub account.
  2. Clone the Repository:

    • Clone the forked repository to your local machine using the following command:
      git clone https://github.com/<your-username>/<repository-name>.git
    • Replace <your-username> with your GitHub username and <repository-name> with the name of this repository.
  3. Add Your Solution:

    • Create a new solution file following the file naming convention and include the problem link at the top as a comment.
  4. Commit Your Changes:

    • After adding the new file, commit your changes with a clear message:
      git add .
      git commit -m "Added solution for <Question Name>"
  5. Push to Your Forked Repository:

    • Push your changes to your forked repository on the main branch (note: we use the main branch, not master):
      git push origin main
  6. Create a Pull Request (PR):

    • Go to your forked repository on GitHub.
    • Click on the Compare & pull request button.
    • Write a brief description of the problem and any other details relevant to the solution.
    • Click on Create Pull Request.
  7. Wait for Review:

    • One of the maintainers will review your PR.
    • If any changes are requested, update your code and commit the changes.
    • Note: Keep an eye on the comments section of your PR for any feedback.

πŸ“š Git and GitHub Learning Resources

If you're new to Git and GitHub, here are some helpful resources to get you started:

Comprehensive Guides

  1. Complete Git and GitHub Tutorial by Kunal Kushwaha:
    Watch Now

  2. Complete Git And GitHub Tutorials (Hindi) by Krish Naik:
    Watch Now

Quick Guides

  1. Learn GitHub in 20 Minutes by Colt Steele:
    Watch Now

Command References

  1. Git Cheat Sheet by GitHub Education:
    Download PDF

❓ FAQs

Q: Can I contribute to the same question multiple times?
A: No, only new questions will be accepted. Solutions to the same question will be marked as invalid.

Q: What if my PR is marked as invalid?
A: Check the comments provided by the maintainer, rectify your solution, or add a new valid question.

Q: Can I contribute in multiple languages?
A: Yes, you can contribute in different programming languages, but ensure that each file follows the guidelines mentioned above.

Q: What branch should I use for contributions?
A: Always use the main branch for pushing your final changes. Create separate branches for each feature/bug fix and then merge them into your main branch before pushing.

Happy Contributing! πŸ’»βœ¨


Note: This is a community-driven project. If you have any questions or need help, to reach out to the maintainers or other contributors. We're here to help you get started and make your first contribution a success! πŸš€