{"id":13493338,"url":"https://github.com/plutov/practice-go","last_synced_at":"2025-05-14T16:13:39.025Z","repository":{"id":17456802,"uuid":"82019878","full_name":"plutov/practice-go","owner":"plutov","description":"Practice Go: a collection of Go programming challenges","archived":false,"fork":false,"pushed_at":"2025-03-25T20:38:28.000Z","size":3204,"stargazers_count":1107,"open_issues_count":1,"forks_count":190,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-04-13T01:55:52.308Z","etag":null,"topics":["go","golang","hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plutov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-15T04:22:01.000Z","updated_at":"2025-04-12T06:28:42.000Z","dependencies_parsed_at":"2022-08-07T08:16:01.067Z","dependency_job_id":"e9f6adba-5dd6-4a7d-8df6-3f3998b3b641","html_url":"https://github.com/plutov/practice-go","commit_stats":{"total_commits":188,"total_committers":31,"mean_commits":6.064516129032258,"dds":0.6808510638297872,"last_synced_commit":"852d839187614474b25f13e0208f3976ea3da603"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plutov%2Fpractice-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plutov%2Fpractice-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plutov%2Fpractice-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plutov%2Fpractice-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plutov","download_url":"https://codeload.github.com/plutov/practice-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654050,"owners_count":21140235,"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":["go","golang","hacktoberfest"],"created_at":"2024-07-31T19:01:14.318Z","updated_at":"2025-05-14T16:13:39.013Z","avatar_url":"https://github.com/plutov.png","language":"Go","funding_links":[],"categories":["Go","Go itself"],"sub_categories":[],"readme":"## Go coding exercises and elegant solutions\n\n### How to solve\n\n - Each challenge(folder) has a README.md file and `*_test.go` file, check it and find what kind of function you need to implement.\n - You may use anything you want except the 3rd-party packages.\n - Implement the function.\n - Run the tests and benchmarks.\n - Create a PR and answer questions from PR template.\n - We will choose the most fast and elegant solution and merge into the repo.\n - New solutions may come in later and be merged as well if they are: faster, cleaner, have less CPU/Mem footprint\n\n### Challenges\n\n - [x] ([@macocha](https://github.com/macocha), [@mick4711](https://github.com/mick4711)) [chess](https://github.com/plutov/practice-go/tree/master/chess)\n - [x] ([@kennygrant](https://github.com/kennygrant)) [floyd](https://github.com/plutov/practice-go/tree/master/floyd)\n - [x] ([@ledongthuc](https://github.com/ledongthuc)) [anagram](https://github.com/plutov/practice-go/tree/master/anagram)\n - [x] ([@heliac2000](https://github.com/heliac2000)) [jaro](https://github.com/plutov/practice-go/tree/master/jaro)\n - [x] ([@nguyengiabk](https://github.com/nguyengiabk), [@denpeshkov](https://github.com/denpeshkov)) [mergesort](https://github.com/plutov/practice-go/tree/master/mergesort)\n - [x] ([@nguyengiabk](https://github.com/nguyengiabk)) [wordladder](https://github.com/plutov/practice-go/tree/master/wordladder)\n - [x] ([@EvenPeng](https://github.com/EvenPeng)) [sumdecimal](https://github.com/plutov/practice-go/tree/master/sumdecimal)\n - [x] ([@bediger4000](https://github.com/bediger4000), [Polqt](https://github.com/Polqt)) [buildword](https://github.com/plutov/practice-go/tree/master/buildword)\n - [x] ([@zerkms](https://github.com/zerkms)) [shorthash](https://github.com/plutov/practice-go/tree/master/shorthash)\n - [x] ([@zerkms](https://github.com/zerkms)) [romannumerals](https://github.com/plutov/practice-go/tree/master/romannumerals)\n - [x] ([@zerkms](https://github.com/zerkms)) [lastlettergame](https://github.com/plutov/practice-go/tree/master/lastlettergame)\n - [x] ([@duckbrain](https://github.com/duckbrain)) [reverseparentheses](https://github.com/plutov/practice-go/tree/master/reverseparentheses)\n - [x] ([@kennygrant](https://github.com/kennygrant)) [functionfrequency](https://github.com/plutov/practice-go/tree/master/functionfrequency)\n - [x] ([@marz619](https://github.com/marz619)) [coins](https://github.com/plutov/practice-go/tree/master/coins)\n - [x] ([@marz619](https://github.com/marz619)) [secretmessage](https://github.com/plutov/practice-go/tree/master/secretmessage)\n - [x] ([@shogg](https://github.com/shogg)) [missingnumbers](https://github.com/plutov/practice-go/tree/master/missingnumbers)\n - [x] ([@HDudzus](https://github.com/HDudzus)) [spiral](https://github.com/plutov/practice-go/tree/master/spiral)\n - [x] ([@TomLefley](https://github.com/TomLefley)) [warriors](https://github.com/plutov/practice-go/tree/master/warriors)\n - [x] ([@shogg](https://github.com/shogg)) [snowflakes](https://github.com/plutov/practice-go/tree/master/snowflakes)\n - [x] ([@shogg](https://github.com/shogg)) [brokennode](https://github.com/plutov/practice-go/tree/master/brokennode)\n - [x] ([@shogg](https://github.com/shogg)) [nasacollage](https://github.com/plutov/practice-go/tree/master/nasacollage)\n - [x] ([@shogg](https://github.com/shogg)) [node_degree](https://github.com/plutov/practice-go/tree/master/node_degree)\n - [x] ([@brianpzaide](https://github.com/brianpzaide)) [compression](https://github.com/plutov/practice-go/tree/master/compression)\n - [x] ([@CicadaCinema](https://github.com/CicadaCinema)) [calculator](https://github.com/plutov/practice-go/tree/master/calculator)\n - [ ] () [meetings](https://github.com/plutov/practice-go/tree/master/meetings)\n\n### Run tests with benchmarks\n\nRun it in the challenge folder:\n\n```\ngo test -bench .\n```\n\n### How to contribute\n\nYou may suggest other challenges as well, not only of DSA type.\n\nCreate a new challenge using this small bash script and create a PR.\n\n```\n./new.sh challenge_name\n```\n\nThe challenge must follow these rules:\n- Explain the challenge well in README.md file so it's clear to everyone what needs to be done.\n- Cover as much of test cases as possible, edge cases as well so people who solve it can focus on the implementation only.\n\n### Contributors\n\n\u003ca href=\"https://github.com/plutov/practice-go/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=plutov/practice-go\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplutov%2Fpractice-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplutov%2Fpractice-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplutov%2Fpractice-go/lists"}