Versão: 3.0.2
No terminal, execute os comandos:
cd ruby
ruby test/customer_success_balancing.rb
Foquei o desenvolvimento na resolução do problema principal, fazendo passo a passo as transformações necessárias dos dados, preparando para a lógica que visa obter o resultado esperado. Escrevi alguns testes para auxiliar o desenvolvimento dos métodos, e assim o desenvolvimento do método execute foi apenas a ordenação das chamadas do demais métodos criados.
Uma necessidade seria a implementação de validação dos dados para validar as premissas do sistema. Poderiam ser criados mais cenários de testes visando uma melhor cobertura dos métodos auxiliares criados.