1
1
mirror of https://github.com/theoludwig/programming-challenges.git synced 2024-07-18 02:20:12 +02:00
Programming exercises and challenges to improve your algorithmic logic.
Go to file
2023-08-02 17:26:47 +02:00
.github build(deps): update latest 2023-05-13 18:48:23 +02:00
challenges fix(solutions): char* issues with memory allocation 2023-07-02 17:37:35 +02:00
cli refactor(cli): usage of node:test instead of tap 2023-07-20 22:00:11 +02:00
templates refactor(cli): usage of node:test instead of tap 2023-07-20 22:00:11 +02:00
.commitlintrc.json feat: rewrite programming-challenges CLI (#3) 2021-06-09 20:31:45 +02:00
.editorconfig build(deps): update latest 2022-12-30 00:55:21 +01:00
.eslintrc.json refactor(cli): usage of node:test instead of tap 2023-07-20 22:00:11 +02:00
.gitattributes chore: maintenance 2022-02-19 18:30:29 +01:00
.gitignore build(deps): update latest 2022-12-30 00:55:21 +01:00
.gitpod.yml feat(solutions): add offset-arrays/python/function 2021-10-04 10:06:05 +02:00
.markdownlint-cli2.jsonc build(deps): update latest 2023-05-13 18:48:23 +02:00
.npmrc feat: rewrite programming-challenges CLI (#3) 2021-06-09 20:31:45 +02:00
.swcrc chore(cli): enable source maps for easier debugging 2023-07-02 17:32:11 +02:00
CODE_OF_CONDUCT.md fix: update author - Théo LUDWIG 2023-07-02 17:28:54 +02:00
CONTRIBUTING.md refactor(cli): usage of node:test instead of tap 2023-07-20 22:00:11 +02:00
LICENSE fix: update author - Théo LUDWIG 2023-07-02 17:28:54 +02:00
logo.png feat: rewrite programming-challenges CLI (#3) 2021-06-09 20:31:45 +02:00
package-lock.json refactor(cli): usage of node:test instead of tap 2023-07-20 22:00:11 +02:00
package.json refactor(cli): usage of node:test instead of tap 2023-07-20 22:00:11 +02:00
README.md docs: add search command explanation + precise Python runtime (PyPy) 2023-08-02 17:26:47 +02:00
tsconfig.json build(deps): update latest 2023-01-10 23:15:36 +01:00

programming-challenges

Programming exercises and challenges to improve your algorithmic logic.

Licence MIT Contributor Covenant
Conventional Commits
Gitpod ready-to-code

programming-challenges Logo

📜 About

programming-challenges brings together lots of 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 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