This is an assessment designed to get a baseline understanding of your current knowledge and skill level. You will complete a series of problems, some of which require specific Data Structures & Algorithms knowledge.
The problems are ordered from easiest to hardest, so it's recommended you attempt them in that order.
This repository uses automated tests to check your answers (similar to the way leetcode and codewars operate). The number of tests you can get to pass will count as your score for the evaluation.
All of the problems have more than 1 test, so you may be able to get partial credit even if you don't get the right answer.
- Fork and clone this repository
Solve each of the problems in the DSA.swift
file. Each problem has its own description directly above it. Read the description and write your code in the empty function.
Run "test" on xcode as often as you want to see how many tests you've passed. You will start off with 0 passing. Read the output of the tests to get information about what you need to do. There is a lot of output!
You may:
- Add other functions as necessary to solve each problem (but not external libraries like pods)
- Read the
DSATest.swift
file to get more clarity on what the tests are looking for (but it may be confusing, in which case don't worry about it)
DO NOT:
- Modify the
DSATest.swift
file in any way. - Modify the function names in
DSA.swift
. - Modify any function signatures in
DSA.swift
(the function signature is how many arguments each function has)
Any modifications to any of these things will cause the tests to break and we will be unable to score your assessment.
When finished, commit your work and make a pull request where the title is your FULL NAME