Os australianos adoram feriados e bebem. Ontem, 26 de janeiro, foi o dia da Austrália, que é feriado. Fiquei feliz por não estar trabalhando ontem e ansioso para saber da próxima vez que eu tiver um feriado! Infelizmente, bebi um pouco demais e não sou capaz de resolver isso sozinho.
Escreva um programa que tenha uma data na notação de data / hora australiana (dd / mm) como entrada e produza a quantidade de dias até o próximo feriado. Como sou residente em Queensland (QLD), só estou interessado em feriados que afetam Queenslanders :
25/03 Sexta-feira Santa
26/03 | Sábado de Páscoa
28/03 | Segunda-feira de Páscoa
25/04 | Dia Anzac
02/05 | Dia do Trabalho
03/10 | Aniversário da rainha
25/12 | Dia de natal
26/12 | Boxing Day
27/12 | Feriado do dia de Natal
Observe o seguinte no site:
Feriado do dia de Natal
Um feriado público adicional a ser adicionado quando o dia de ano novo, o dia de Natal ou o dia de boxe caem em um fim de semana.
Como o dia de Natal é no domingo, há um feriado público extra . O dia de Natal ainda é feriado.
Por ser uma pessoa matutina, você deve incluir a data atual como um dia (já que é a hora mais provável de verificar seu programa para o próximo feriado). Ou seja, se a data de um feriado público for inserida, sua saída deverá ser 0
; se um dia antes da entrada de um feriado, sua saída será 1
.
Só estou interessado em datas entre agora (27/01) até o final do ano. A data final que você precisará contabilizar é 31/12, onde estará sua produção 1
(no dia de Ano Novo).
As brechas padrão são proibidas.
Entrada
- A entrada sempre terá 5 caracteres: 4 letras, separadas por hífen
-
ou barra/
- A entrada será apenas uma data entre 27/01 e 31/12
Resultado
- O número de dias até o próximo feriado em Queensland na Austrália, incluindo a data de entrada: deve ser um número entre
0
e153
(o intervalo mais longo) - Sem novas linhas ou erros
Exemplos
01-05 = 1
02-05 = 0
03-05 = 153
25/12 = 0
26-12 = 0
27/12 = 0
30/12 = 2
31-12 = 1
Espero que isso esteja claro e que nada se perca; no entanto, esta é a minha segunda pergunta, por isso aprecio qualquer feedback e faço o possível para corrigir problemas o mais rápido possível.