{"id":16811750,"url":"https://github.com/theoludwig/programming-challenges","last_synced_at":"2025-04-11T01:42:14.905Z","repository":{"id":41901556,"uuid":"277311211","full_name":"theoludwig/programming-challenges","owner":"theoludwig","description":"Programming exercises and challenges to improve your algorithmic logic.","archived":false,"fork":false,"pushed_at":"2024-11-18T07:05:28.000Z","size":2424,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T08:52:46.177Z","etag":null,"topics":["algorithm-challenges","challenges","gitpod","programming-challenges"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theoludwig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-07-05T13:49:24.000Z","updated_at":"2025-01-07T11:24:17.000Z","dependencies_parsed_at":"2023-02-08T20:31:24.012Z","dependency_job_id":"8ff5539e-24ce-4950-bd3b-3575d8234065","html_url":"https://github.com/theoludwig/programming-challenges","commit_stats":null,"previous_names":["theoludwig/programming-challenges"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoludwig%2Fprogramming-challenges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoludwig%2Fprogramming-challenges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoludwig%2Fprogramming-challenges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoludwig%2Fprogramming-challenges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theoludwig","download_url":"https://codeload.github.com/theoludwig/programming-challenges/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248327468,"owners_count":21085251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm-challenges","challenges","gitpod","programming-challenges"],"created_at":"2024-10-13T10:19:37.501Z","updated_at":"2025-04-11T01:42:14.886Z","avatar_url":"https://github.com/theoludwig.png","language":"C","readme":"\u003ch1 align=\"center\"\u003eprogramming-challenges\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eProgramming exercises and challenges to improve your algorithmic logic.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./CONTRIBUTING.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\" alt=\"CONTRIBUTING\" /\u003e\u003c/a\u003e\n  \u003ca href=\"./LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/licence-MIT-blue.svg\" alt=\"Licence MIT\"/\u003e\u003c/a\u003e\n  \u003ca href=\"./CODE_OF_CONDUCT.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg\" alt=\"Contributor Covenant\" /\u003e\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://github.com/theoludwig/programming-challenges/actions/workflows/cli.yml\"\u003e\u003cimg src=\"https://github.com/theoludwig/programming-challenges/actions/workflows/cli.yml/badge.svg?branch=master\" alt=\"CLI\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/theoludwig/programming-challenges/actions/workflows/challenges.yml\"\u003e\u003cimg src=\"https://github.com/theoludwig/programming-challenges/actions/workflows/challenges.yml/badge.svg?branch=master\" alt=\"Challenges\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://conventionalcommits.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg\" alt=\"Conventional Commits\" /\u003e\u003c/a\u003e\n  \u003cbr/\u003e\n  \u003ca href=\"https://gitpod.io/#https://github.com/theoludwig/programming-challenges\"\u003e\u003cimg src=\"https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\" alt=\"Gitpod ready-to-code\"/\u003e\u003c/a\u003e\n  \u003cbr/\u003e \u003cbr/\u003e\n  \u003cimg src=\"./logo.png\" width=\"120\" alt=\"programming-challenges Logo\" /\u003e\n\u003c/p\u003e\n\n## 📜 About\n\n**programming-challenges** brings programming exercises and challenges to improve your algorithmic logic.\n\nEach challenge has its **solutions**, its **instructions** and **input/output examples** so you can try to solve them on your own. See [challenges](./challenges) folder.\n\n[🧠 Programming Challenges - Blog Post](https://theoludwig.fr/blog/programming-challenges/).\n\n### ✅ Programming languages available\n\n- [C/C++ (gcc)](https://gcc.gnu.org/)\n- [C# (Mono)](https://www.mono-project.com/)\n- [Dart](https://dart.dev/)\n- [Java (OpenJDK)](https://openjdk.java.net/)\n- [JavaScript/TypeScript (Node.js)](https://nodejs.org/)\n- [Python (PyPy)](https://www.pypy.org/)\n- [Rust](https://www.rust-lang.org/)\n\n## 🚀 Getting Started\n\n### ☁️ Try with a Single-Click\n\nGitpod will automatically setup an environment for you.\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/theoludwig/programming-challenges)\n\n### Locally\n\n#### Prerequisites\n\n- [Node.js](https://nodejs.org/) \u003e= 20.11.0\n- [npm](https://npmjs.com/) \u003e= 10.0.0\n- [Docker](https://www.docker.com/)\n\n#### Installation\n\n```sh\n# Clone the repository\ngit clone git@github.com:theoludwig/programming-challenges.git\n\n# Go to the project root\ncd programming-challenges\n\n# Install dependencies\nnpm clean-install\n\n# Build the Command Line Interface (CLI)\nnpm run build\n\n# Install the `programming-challenges` Command Line Interface (CLI)\nnpm install --global\n```\n\n### Usage\n\n```sh\n# Discover all the commands availables\nprogramming-challenges --help\n\n# Generate a new challenge\nprogramming-challenges generate challenge --github-user=\"YourGitHubName\" --challenge=\"hello-world\"\n\n# Generate a new solution\nprogramming-challenges generate solution --github-user=\"YourGitHubName\" --challenge=\"hello-world\" --solution=\"function\" --language=\"python\"\n\n# Test a solution\nprogramming-challenges run test --challenge=\"hello-world\" --solution=\"function\" --language=\"python\"\n\n# Run a solution with specific `input.txt` file\nprogramming-challenges run solution --challenge=\"hello-world\" --solution=\"function\" --language=\"python\" --input-path=\"./challenges/hello-world/test/1/input.txt\" --output\n\n# Search for a challenge not yet solved in a specific programming language\nprogramming-challenges search --language=\"rust\"\n```\n\n## 💡 Contributing\n\nAnyone can help to improve the project, submit a challenge, a solution or even correct a simple spelling mistake.\n\nThe steps to contribute can be found in the [CONTRIBUTING.md](./CONTRIBUTING.md) file.\n\n## 📄 License\n\n[MIT](./LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheoludwig%2Fprogramming-challenges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheoludwig%2Fprogramming-challenges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheoludwig%2Fprogramming-challenges/lists"}