This challenge allows you to practice the concepts and techniques learned over the past week and apply them to concrete examples.
Read these instructions carefully. Understand exactly what is expected before starting this Sprint Challenge.
This is an individual assessment. All work must be your own. Your challenge score is a measure of your ability to work independently using the material covered through this sprint. You need to demonstrate proficiency in the concepts and objectives introduced and practiced in preceding days.
You are not allowed to collaborate during the Sprint Challenge. However, you are encouraged to follow the twenty-minute rule and seek support from your PM and Instructor in your cohort help channel on Slack. Your work reflects your proficiency in Python and your command of the concepts and techniques in related to hash tables.
You have three hours to complete this challenge. Plan your time accordingly.
Commit your code regularly and meaningfully. This helps both you (in case you ever need to return to old code for any number of reasons and your project manager.
This sprint challenge is made up of five hashtables-related challenges.
For the hash tables portion of the sprint challenge, you'll be working through algorithm problems that are amenable to being solved efficiently using a hash table.
Navigate into each exercise's directory, read the instructions for the exercise laid out in the README, implement your solution in the .py skeleton file, then make sure your code passes the tests by running the test script with make tests.
For these exercises, it's expected that you'll use Python's built-in
dict
as a hashtable.
That said, if you wish, you can attempt to solve using your own hashtable implementation, as well.
All solutions should utilize a dict
or hashtable. Sets should not be
used. (Though you can make a dict
behave like a set, if you wish.)
- Hash Tables: solve any 3 of the 5 problems. Solve more for more points.