TDD Kata (6): Ojos de Buey

Published on Author lopezLeave a comment

Anterior Post 
Siguiente Post 

Ya en la ronda 1A Google Code Jam de este año, me encontré con este problema:

https://code.google.com/codejam/contest/2418487/dashboard

El llamado Bulleyes. María tiene que pintar una serie de círculos concéntricos, dado un radio y una cantidad de pintura inicial. El problema es, dado r y t (el radio y la cantidad de pintura) ¿cuántos círculos de 1cm de “ancho” puede pintar?

Al participar, he desarrollado los primeros test con TDD, y pueden ver la solución en:

https://github.com/ajlopez/TddOnTheRocks/tree/master/Bulleyes

Siempre pueden pueden consultar la historia del desarrollo en:

https://github.com/ajlopez/TddOnTheRocks/commits/master/Bulleyes

Al principio, tenía un algoritmo que dependía de una función que daba cuánta pintura se necesitaba para pintar alrededor de un radio r. Pero luego, la reemplacé por otro algoritmo, que da directamente la cantidad de círculos que María puede pintar, dado el radio y la cantidad de pintura. Y todo siguió andando.

Como en otros ejemplos de Google Code Jam, no hice con TDD al programa de consola. Me concentré en tener el algoritmo correcto, luego de tener algunos tests en verde. En este caso, bastó con encontrar una fórmula que resuelve el caso en general.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Leave a Reply

Your email address will not be published. Required fields are marked *