five-programming-problems
five-programming-problems copied to clipboard
Solutions for five programming problems every Software Engineer should be able to solve in less than 1 hour
Five Programming Problems
Inspired by Five programming problems every Software Engineer should be able to solve in less than 1 hour
Problems
Problem 1
Write three functions that compute the sum of the numbers in a given list using a for-loop, a while-loop, and recursion.
Problem 2
Write a function that combines two lists by alternatingly taking elements. For example: given the two lists
[a, b, c]and[1, 2, 3], the function should return[a, 1, b, 2, c, 3].
Problem 3
Write a function that computes the list of the first 100 Fibonacci numbers. By definition, the first two numbers in the Fibonacci sequence are 0 and 1, and each subsequent number is the sum of the previous two. As an example, here are the first 10 Fibonnaci numbers: 0, 1, 1, 2, 3, 5, 8, 13, 21, and 34.
Problem 4
Write a function that given a list of non negative integers, arranges them such that they form the largest possible number. For example, given [50, 2, 1, 9], the largest formed number is 95021.
Problem 5
Write a program that outputs all possibilities to put + or - or nothing between the numbers 1, 2, ..., 9 (in this order) such that the result is always 100. For example: 1 + 2 + 34 – 5 + 67 – 8 + 9 = 100.
Test
$ gradle test
Commentary
Nope, I didn't solve these problems in less then 1 hour. :) Mostly because I was doing this at the weekend and I had plenty of other things to do.