1969-07-20 / GoogleFoobarChallenge

Repo with my solutions to the coding challenges I received in the Google Foobar Challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Google Foobar Challenge

This repo has four main types of content related to the Google Foobar Challenge.

  1. The directory ChallengesAndSolutions has the solutions I created from the two times I took the challenge in 2020 and 2022.

  2. The directory ChallengesAndSolutions also has a suite of test cases for each challenge. Each test case suite resides in a file with the name 'testCases.json'. The problem statement provided by Google for each challenge has a handful of test cases (usually two) and their solutions. The test case suite in each 'testCases.json' here has additional test cases (usually fifteen to twenty) and their solutions. Some additional test cases were culled from the numerous web pages discussing the Google Foobar Challenge. The remainder were created specifically for this repo. An attempt was made to exercise all corner and special cases that came to mind as well as small, large and generic cases.

  3. The directory OfflineTester has the test harness developed to create additional test cases. It exercises a set of solutions to a challenge against the test cases for that challenge. The Offline Tester addresses two use cases: 1) It supports the generation of new test cases by feeding the test case to several solutions known to (usually) produce correct results. 2) It also supports the testing of solutions under development by verifying the correct results are produced for the suite of test cases. The Offline Tester has over 300 solutions to Foobar challenges. These solutions are solutions I wrote as well as extracted from repos at the URLs found in foobarUrls.md. With the occasional minor tweak, all solutions run under the Offline Tester under Python 2.7 as well as 3.10.

  4. The file foobarUrls.md has a list of over 200 links to web pages which discuss the Google Foobar Challenge.

For fun, after completing the Google Foobar Challenge in 2020, I modified the software in the Apollo 11's Guidance Computer to also include my solution to my Level 5 challenge. This can be found in a separate repo (Comanche055 Dodge the Lasers). A YouTube video demonstrates the modified Apollo Guidance Computer (AGC) software running on an AGC emulator computing solutions to the Dodge the Lasers challenge. An excellent introduction to the Apollo Guidance Computer is also available on YouTube.

About

Repo with my solutions to the coding challenges I received in the Google Foobar Challenge

License:GNU General Public License v2.0


Languages

Language:Python 100.0%