Optimal, complex solution vs. simple, requirements-meeting solution
programmers.stackexchange.com