Questo è il mio primo codice golf, quindi per favore fatemi sapere se è troppo ampio o se mi mancano informazioni per un buon puzzle!
Sfida
In Ontario e possibilmente in altre aree del mondo, l'elettricità viene fatturata utilizzando la tariffazione Time-Of-Use (TOU) , che varia il costo per chilowattora in base al consumo di energia.
Data una data e un'ora, voglio sapere se sono in un periodo di picco (rosso), medio (giallo) o non di punta (verde).
Ingresso
Supponiamo che l'input sia fornito in un formato accettabile ISO 8601 data-ora senza fuso orario con la precisione minima delle ore: YYYY-MM-DDThh[:mm[:ss]]
(la T è letterale).
Esempi
- 2014-09-01T14
- 2014-09-01T17: 30
- 2014-09-01T17: 30: 02
Produzione
L'output dovrebbe essere una stringa On
, Mid
o Off
.
Regole
- Il codice più corto vince
- Ai fini di questa sfida, ignorare le festività
- Supponi le informazioni trovate in questo post. Le attuali regole di tariffazione del tempo di utilizzo potrebbero cambiare in futuro dal Ministero dell'Energia dell'Ontario.
Informazione
Giorni feriali estivi (dal 1 maggio al 31 ottobre)
- Off-peak: 19h00 - 07h00
- Mid-peak: 07:00 - 11:00 e 17:00 - 19:00
- Sul picco: 11: 00-17: 00
Giorni feriali invernali (dal 1 novembre al 30 aprile)
- Off-peak: 19h00 - 07h00
- Mid-peak: 11h00 - 17h00
- In vetta: dalle 07:00 alle 11:00 e dalle 17:00 alle 19:00
Fine settimana
- Off-peak: tutto il giorno
YYYY-MM-DDThh[:mm[:ss]]
dato che i secondi possono essere applicati solo se vengono applicati i minuti?