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 poderia exigir menos pressionamentos.

Dada uma string que representa um tempo, retorne a menor quantidade total de pressionamentos necessária 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 e 0 insere 05:00. Pressionar 3 e 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 como 00:70 é válido. Compare todas as formas disponíveis de chegar ao tempo solicitado e retorne a menor quantidade de pressionamentos.

Exemplos

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

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

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

Notas

  • 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.