Got through all three parts and every test case passed, which felt like a win.
First, quickly read all three sub-questions to understand their dependencies and allocate time proportionally. Start with the sub-question you're most confident in to build momentum, then tackle the others, ensuring you write clean, modular code that can be reused across parts. Prioritize correctness and edge cases over optimization unless explicitly required.
Pro tip: In a timed assessment, write a few test cases for each sub-question before coding to clarify requirements and catch edge cases early; this also demonstrates structured thinking to evaluators.
Read all three sub-questions carefully, noting inputs, outputs, constraints, and any dependencies between them. Identify which parts are independent and which build on previous solutions.
Allocate time based on difficulty and point value. Start with the easiest or most foundational sub-question to secure partial credit and build reusable code.
For each sub-question, outline your approach (e.g., algorithm, data structures) before coding. Write clean, modular functions and handle edge cases.
Run through provided examples and create additional test cases, including edge cases. Debug and fix issues, ensuring each part works independently and together.
If time permits, review code for efficiency and readability. Optimize only if necessary, and ensure all parts are submitted correctly.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.