Problema
Um dia, seu chefe vai até você e diz que precisa saber a hora. Ele ainda insiste depois que você aponta o relógio diretamente acima da cabeça e confessa que tem um caso grave de discalculia , o que faz com que ele nem consiga ver os números no relógio. Enquanto você ainda fica imaginando como alguém incapaz de ver números pode administrar uma empresa, ele diz para você "fazer algo a respeito", seja o que for.
Sua tarefa agora é criar um programa ou função que, dado um tempo de entrada com horas e minutos (os segundos são opcionais) (as horas são baseadas em 24), emita uma frase legível em inglês, que não contém números.
Não é necessário calcular os segundos.
Por exemplo, 08:45:15
deve gerarquarter to nine o'clock AM
Casos de teste
00:00:00 > twelve night
12:00:00 > twelve noon
06:00:00 > six o'clock AM
18:00:00 > six o'clock PM
06:15:00 > quarter past six o'clock AM
18:45:00 > quarter to seven o'clock PM
11:30:00 > half past eleven o'clock AM
13:22:00 > twentytwo minutes past one o'clock PM
17:43:00 > seventeen minutes to six o'clock PM
00:09:00 > nine minutes past twelve o'clock AM
Regras
Os números de saída podem ser na forma de quarenta e dois ou quarenta e dois, o que você preferir. As brechas padrão não são permitidas. Novas linhas à direita são permitidas, mas a frase deve estar em 1 linha.
A entrada pode estar em qualquer formato que você quer, por exemplo HH:MM:SS
, HH,MM,SS
, HHMMSS
, HH/MM/SS
, ou qualquer variante sem segundos, mas você deve fazer o formato de entrada claro em sua resposta. Não é necessário produzir em one minute
vez deone minutes
por minutos que variam de 0 a 30 (0 e 30 incluídos) você deve usar past
e para os outros você deve usarto
Como o tempo é relativo, o menor código em bytes vence.
forty-five
quando os casos de teste afirmam claramente quarter to
como o formato de entrada apropriado? (apenas altere para quarenta e dois;)) Além disso, a complexidade kolmogorov não é uma tag apropriada.
one
para twenty-nine
, com quarter
a substituição fifteen
e half
que representa thirty
, mas isso não é clara. Além disso, para perguntas futuras, recomendo vivamente a Sandbox para resolver os problemas antes de postar.