Aviso: NÃO siga conselho médico deste post. Se você quiser aconselhamento médico, procure um profissional qualificado.
Estou com dor de cabeça. Eu preciso de comprimidos para dor de cabeça.
Vou lhe dizer as últimas doses que tomei e você me diz quando posso tomar minha próxima dose, sem overdose.
Vou te dar essa string:
P: 00:00, I: 02:00, P: 04:00, I: 06:00
E você me dará o seguinte:
Next P: 08:00, I: 10:00
Entrada:
String representando os horários em que cada medicamento foi tomado, no seguinte formato:
P: 00:00, I: 02:00, P: 04:00, I: 06:00
Isso significa que o paracetamol foi tomado às 00:00 e 04:00 e o ibuprofeno foi tomado às 02:00 e 06:00
Saída (atualizada):
Cadeia de caracteres com a hora em que cada próximo medicamento pode ser tomado, no seguinte formato:
Next P: 08:00, I: 10:00
- A ordem de saída deve estar na ordem em que o medicamento deve ser tomado. - Se o ibuprofeno deve ser tomado às 09:35 e Paracetamol e 10:22, a saída deve ser
Next I: 09:35, P: 10:22
- Se o horário da próxima dose de cada medicamento for o mesmo, a ordem de saída não importará:
Next P: 08:00, I: 08:00
OUNext I: 08:00, P: 08:00
- Se apenas um medicamento estiver sendo tomado (na sequência de entrada), apenas esse medicamento deverá estar na sequência de saída:
Next P: 02:00
Regras:
- Só haverá dois tipos de medicação: Paracetamol 'P' e Ibuprofen 'I'.
- O paracetamol pode ser tomado uma vez a cada 4 horas, no máximo 4 vezes em um período de 24 horas.
- O ibuprofeno também pode ser tomado uma vez a cada 4 horas, no máximo 4 vezes em um período de 24 horas.
- Paracetamol e ibuprofeno podem ser tomados juntos, ou em momentos separados. Um não conta para a dosagem do outro.
- Os horários na sequência de entrada sempre serão consecutivos, mas podem ocorrer durante a meia-noite (23:00 -> 03:00)
- Os tempos na sequência de entrada não durarão mais que 24 horas
- Máximo de 4 vezes para cada medicamento (8 máx. No total)
- A entrada sempre estará vazia e conterá pelo menos um medicamento e uma vez
Exemplos:
Duas doses de cada uma em intervalos de duas horas:
"P: 00:00, I: 02:00, P: 04:00, I: 06:00" -> "Next P: 08:00, I: 10:00"
Dose única de paracetamol
"P: 22:00" -> "Next P: 02:00"
Dose máxima de paracetamol em 24 horas, dose única de ibuprofeno
"P: 04:05, P: 08:10, P: 12:15, I: 12:30, P: 16:25" -> "Next I: 16:30, P: 04:05"
Casos de teste:
"I: 06:00" -> "Next I: 10:00"
"P: 22:00" -> "Next P: 02:00"
"P: 22:00, P: 02:00, I: 06:00" -> "Next P: 06:00, I: 10:00"
"P: 00:00, I: 02:00, P: 04:00, I: 06:00" -> "Next P: 08:00, I: 10:00"
"P: 04:05, P: 08:10, P: 12:15, I: 12:30, P: 16:25" -> "Next I: 16:30, P: 04:05"
"I: 06:32, P: 08:15, I: 10:44, P: 13:03" -> "Next I: 14:44, P: 17:03"
"P: 07:30, I: 07:30, P: 11:30, I: 11:30, P: 15:30, I: 15:30, I: 19:30" -> "Next P: 19:30, I: 07:30"
"I: 07:30, P: 11:30, I: 11:30, P: 15:30, I: 15:30, P: 19:30, I: 19:30" -> "Next P: 23:30, I: 07:30"
"P: 07:30, I: 07:30, P: 11:30, I: 11:30, P: 15:30, I: 15:30, P: 19:30, I: 19:30" -> "Next P: 07:30, I: 07:30" OR "Next I: 07:30, P: 07:30"
Este é o código golf, então a resposta mais curta int bytes vence.
ATUALIZAR:
A saída agora pode ser abreviação de Paracetamol e Ibuprofen; P
eI