Botões do micro-ondas

O temporizador de um micro-ondas começa em 00:00. Você pode inserir um tempo com os botões numéricos, adicionar 30 segundos com o botão +30 e depois pressionar Start. Por exemplo, pressionar +30 dez vezes definiria cinco minutos, mas outra sequência pode exigir menos pressionamentos.

Dada uma string de tempo, retorne o menor número total de pressionamentos de botões necessário para definir esse tempo e iniciar o micro-ondas.

Botões

  • Dígitos de 0 a 9: Cada dígito é adicionado ao temporizador da esquerda para a direita. Pressionar 5, 0, 0 insere 05:00. Pressionar 3, 0 insere 00:30. Não é necessário pressionar os zeros à esquerda.
  • +30: Cada pressionamento adiciona 30 segundos ao tempo atual. Pressionar +30 duas vezes altera 00:00 para 00:60.
  • Start: Você deve pressionar Start uma vez depois de definir o tempo. Lembre-se de incluir esse pressionamento no valor retornado.

Os segundos exibidos podem ser maiores que 59, portanto um tempo-alvo como 00:70 é válido. Compare todas as formas disponíveis de alcançar o tempo solicitado e retorne o menor número de pressionamentos.

Exemplos

Program.microwaveButtons("00:30"); // 2
// Pressione +30 para colocar 30 segundos no temporizador.
// Pressione Start para iniciar o micro-ondas.

Program.microwaveButtons("00:70"); // 3
// Pressione 7 e depois 0 para colocar 70 segundos no temporizador.
// Pressione Start para iniciar o micro-ondas.

Program.microwaveButtons("00:00"); // 1
// Pressione Start. Nenhum outro botão é necessário.

Observações

  • As entradas podem não usar a formatação convencional de minutos e segundos. Por exemplo, 00:70 é válido.
  • Não é necessário validar a entrada nem tratar exceções.