Interview Question #003 added w/ test cases.