{"id":24701756,"url":"https://github.com/hurricanemark/dailycodingchallenge","last_synced_at":"2025-10-09T07:32:55.725Z","repository":{"id":41080835,"uuid":"160015258","full_name":"hurricanemark/DailyCodingChallenge","owner":"hurricanemark","description":"Test-driven software solutions to the daily coding challenge received in my mail box.  Apparently, these are interview questions.  New addition is usually pushed as file denoted 'codechallenge-###.py' , where ### is the sequential digits.  Each file should contain a date, the original problem description in the comment section, and my attempted solution below it.","archived":false,"fork":false,"pushed_at":"2024-06-25T17:50:00.000Z","size":8349,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T22:33:12.705Z","etag":null,"topics":["codechallenge","dailycodechallenge","docker-development","interview-questions","pytest","python","pythonic","test-driven-development-with-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hurricanemark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-02T05:04:09.000Z","updated_at":"2024-06-25T17:50:03.000Z","dependencies_parsed_at":"2023-01-19T19:46:43.760Z","dependency_job_id":null,"html_url":"https://github.com/hurricanemark/DailyCodingChallenge","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hurricanemark/DailyCodingChallenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurricanemark%2FDailyCodingChallenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurricanemark%2FDailyCodingChallenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurricanemark%2FDailyCodingChallenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurricanemark%2FDailyCodingChallenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hurricanemark","download_url":"https://codeload.github.com/hurricanemark/DailyCodingChallenge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurricanemark%2FDailyCodingChallenge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000960,"owners_count":26082973,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["codechallenge","dailycodechallenge","docker-development","interview-questions","pytest","python","pythonic","test-driven-development-with-python"],"created_at":"2025-01-27T05:25:20.951Z","updated_at":"2025-10-09T07:32:50.716Z","avatar_url":"https://github.com/hurricanemark.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solutions for Daily Coding Challenge\n\nSign up for an account at \u003ca href\u003e\"https://dailycodingproblem.com\"\u003c/a\u003e to automatically receive  a daily coding problem in your mail box.\n\n\nThis repository contains continuous update of my solutions (code snippets).  I try to keep it a consistent activity as a way to keep my mind entertained.  \n\n## Coding Practice\nProblem descriptions are here to require understanding before moving ahead!\n\nComments are here to explain code to other programmers, better yet, as notes to my future self.\nThe comment section contains date, problem's description follows by my thought on computation flow and pseudo code.\n\nCodes are here to explain algorithms to the computer.\nThe code section usually contains function(s) for addressing the main problem and test_func() written for pytest module.\nIn order to optimize, we first take measurement.  Some solutions here also output elapsed runtime if there are multiple \nways to implement a solution.\n\nOften, I would recommit updates on individual file with further thoughts, improvement or total rewrite of the solution.\n\n## Code Layout\n\nOne problem/solution per python file.\nEach python file contains the given problem in the commented section and my attempted code below it.  The files are not linked or referenced to one another.  However, you could import each one as module (see module_unittests.py) or run pytest on the entire directory (see tests.py).  Be sure to open it up and read it.  \n\nFeel free to suggest better performance for any of my solutions here.\n\n\nPublished URL: https://hurricanemark.github.io/DailyCodingChallenge/\n\n## How to Run\n\nSeveral unit test modules are used here.  *pytest*, *module_unittesst.py*, and *unittest.runner* that can generate xml summary.\n\n** 1.  Install pytest (pip install  pytest)\n\n** 2.  git clone https://github.com/hurricanemark/DailyCodingChallenge.git\n\n** 3.  Run pytest (`pytest ./*.py`)\n    \nAny function written in the form of test_xyz() will be automatically executed with pytest.\n\n**     or, execute individual python solution (`python codechalleng-##.py`)\n\n**     or, execute `python tests.py` for comprehensive testing of the whole directory\n\n**     or, python3 module_unittests.py\n\n**     PIPENV: using provided Pipfile.lock  ==recommended==\n\n```\npipenv install\npipenv shell\npipenv run python ./tests.py\nexit()\n```\n\n\u003cmark\u003eVerbose unittest output is in\u003c/mark\u003e @@include[tests_output.txt](./tests_output.txt) :joy:\n\n\n## Develop \u0026\u0026 Run Tests Using Docker Image\n\nInstall docker-ce on your local machine.  Follow this link [**docker-ce**](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1) for installation instruction.  \nMake sure you have .dockerignore file in your folder.\n\n$ docker build . -t pydockerrunner\n\n$ docker rm runmycodechallenges; docker run -it --name runmycodechallenges pydockerrunner:latest \"/bin/bash\"\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhurricanemark%2Fdailycodingchallenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhurricanemark%2Fdailycodingchallenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhurricanemark%2Fdailycodingchallenge/lists"}