{"id":16572418,"url":"https://github.com/jonocarroll/exercism-solutions","last_synced_at":"2025-09-02T20:39:27.617Z","repository":{"id":71014021,"uuid":"596758437","full_name":"jonocarroll/exercism-solutions","owner":"jonocarroll","description":"My solutions to exercism exercises","archived":false,"fork":false,"pushed_at":"2024-11-28T12:26:04.000Z","size":64513,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-16T03:14:22.287Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/jonocarroll.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"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":"2023-02-02T21:39:02.000Z","updated_at":"2024-11-28T18:24:47.000Z","dependencies_parsed_at":"2024-11-28T13:35:29.264Z","dependency_job_id":null,"html_url":"https://github.com/jonocarroll/exercism-solutions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonocarroll%2Fexercism-solutions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonocarroll%2Fexercism-solutions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonocarroll%2Fexercism-solutions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonocarroll%2Fexercism-solutions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonocarroll","download_url":"https://codeload.github.com/jonocarroll/exercism-solutions/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242041818,"owners_count":20062290,"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":[],"created_at":"2024-10-11T21:27:31.085Z","updated_at":"2025-03-05T14:26:22.936Z","avatar_url":"https://github.com/jonocarroll.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: \n  github_document:\n    df_print: \"kable\"\neditor_options: \n  chunk_output_type: console\n---\n \n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\"\n) \n```\n\n# exercism-solutions\n\n\u003c!-- badges: start --\u003e\n\u003c!-- badges: end --\u003e\n\n```{r, echo = FALSE}\nget_root_dirs \u003c- function(path) {\n  dirs \u003c- list.dirs(path, recursive = FALSE)\n  dirs \u003c- sub(\"^./\", \"\", dirs)\n  dirs \u003c- dirs[!startsWith(dirs, \".\")]\n  dirs  \n}\n\nget_image \u003c- function(lang) {\n  paste0(\"./.logos/\", lang, \".png\")\n}\n\nget_n_exercises \u003c- function(lang) {\n  dirs \u003c- get_root_dirs(lang)\n  # pharo-smalltalk has the image in that directory\n  dirs \u003c- dirs[!grepl(\"pharo-smalltalk/pharo-\", dirs)]\n  length(dirs)\n}\n\nmake_link \u003c- function(lang) {\n  glue::glue('\u003ca href=\"./{lang}/\"\u003e{lang}\u003c/a\u003e')\n}\n\ndirs \u003c- get_root_dirs(\".\")\n\nmd_logo \u003c- function(lang) {\n  # glue::glue(\"![]({get_image(lang)})\")\n  glue::glue(\"\u003cimg height='40px' src='{get_image(lang)}'\u003e\u003c/image\u003e\")\n}\nlangs \u003c- dplyr::tibble(\n  logo = sapply(dirs, md_logo),\n  language = sapply(dirs, make_link),\n  exercises = sapply(dirs, get_n_exercises)\n) |\u003e \n  dplyr::arrange(desc(exercises)) |\u003e \n  as.data.frame()\n\n# dplyr::tibble(\n#   logo = dirs,\n#   language = sapply(dirs, make_link),\n#   exercises = sapply(dirs, get_n_exercises),\n#   bar = exercises\n# ) |\u003e\n#   dplyr::mutate(language = purrr::map(language, gt::html)) |\u003e\n#   dplyr::arrange(desc(exercises)) |\u003e\n#   gt::gt(caption = glue::glue(\"Last compiled: {Sys.Date()}\")) |\u003e\n#   gt::text_transform(\n#     locations = gt::cells_body(columns = logo),\n#     fn = function(x) {\n#       gt::local_image(\n#         filename = get_image(x),\n#         height = 50\n#       )\n#     }\n#   ) |\u003e  \n#   gtExtras::gt_plt_bar(column = bar, keep_column = FALSE) |\u003e\n#   gt::cols_label(.list = list(logo = \"\", language = \"\", exercises = \"\", bar = \"\"))\n```\n\nThese are my completed solutions to [Exercism](https://exercism.org/) problems. \n\nI completed the [#12in23](https://exercism.org/challenges/12in23) challenge by\nsolving 5 non-trivial exercises in each of 12 languages, plus several more.\n\nI am also completing the [#48in24](https://exercism.org/challenges/48in24) challenge.\n\nTotal number of languages explored:  \u003cspan style=\"font-size:150%\"\u003e\u003cb\u003e`r nrow(langs)`\u003c/b\u003e\u003c/p\u003e\n\nTotal number of exercises completed:  \u003cspan style=\"font-size:150%\"\u003e\u003cb\u003e`r sum(langs$exercises)`\u003c/b\u003e\u003c/p\u003e\n\n## Number of Exercises Completed per Language \n\n```{r, echo = FALSE}\nlangs\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonocarroll%2Fexercism-solutions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonocarroll%2Fexercism-solutions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonocarroll%2Fexercism-solutions/lists"}