Hola,
NO hacés cosas de las que son penalizadas, como usar while cuando debés usar un for, por ejemplo. Usás las instrucciones correctamente. No hacés a=a; por ejemplo.
Otra cosa importante a decir y explicar es que no hay solución única a un ejercicio de programación. Quizá hay soluciones más largas y más cortas. Más y menos elegantes. Ese código te quedó 5 líneas más largo que la solución "oficial". Pero esa solución oficial podría haberse hecho más corta también. Con el tiempo se agarra la mano.
No me doy cuenta de que tu solución tenga algún problema y por tanto yo te daría todos los puntos. Pero dejo abierta la puerta a que algún compañero agregue algo.
saludos,
Eduardo