Skip to content

theoludwig/programming-challenges

Repository files navigation

programming-challenges

Programming exercises and challenges to improve your algorithmic logic.

CONTRIBUTING Licence MIT Contributor Covenant
CLI Challenges Conventional Commits
Gitpod ready-to-code

programming-challenges Logo

📜 About

programming-challenges brings programming exercises and challenges to improve your algorithmic logic.

Each challenge has its solutions, its instructions and input/output examples so you can try to solve them on your own. See challenges folder.

🧠 Programming Challenges - Blog Post.

✅ Programming languages available

🚀 Getting Started

☁️ Try with a Single-Click

Gitpod will automatically setup an environment for you.

Open in Gitpod

Locally

Prerequisites

Installation

# Clone the repository
git clone git@github.com:theoludwig/programming-challenges.git

# Go to the project root
cd programming-challenges

# Install dependencies
npm clean-install

# Build the Command Line Interface (CLI)
npm run build

# Install the `programming-challenges` Command Line Interface (CLI)
npm install --global

Usage

# Discover all the commands availables
programming-challenges --help

# Generate a new challenge
programming-challenges generate challenge --github-user="YourGitHubName" --challenge="hello-world"

# Generate a new solution
programming-challenges generate solution --github-user="YourGitHubName" --challenge="hello-world" --solution="function" --language="python"

# Test a solution
programming-challenges run test --challenge="hello-world" --solution="function" --language="python"

# Run a solution with specific `input.txt` file
programming-challenges run solution --challenge="hello-world" --solution="function" --language="python" --input-path="./challenges/hello-world/test/1/input.txt" --output

# Search for a challenge not yet solved in a specific programming language
programming-challenges search --language="rust"

💡 Contributing

Anyone can help to improve the project, submit a challenge, a solution or even correct a simple spelling mistake.

The steps to contribute can be found in the CONTRIBUTING.md file.

📄 License

MIT