Encuentre la fecha más cercana a un TargetDate para un día de la semana determinado.
Por ejemplo, dada una fecha 20161219
y un día de la semana de Friday (6)
, la respuesta es 20161216
.
Otro ejemplo, dada una fecha 20161219
y un día de la semana de Wednesday (4)
, la respuesta es 20161221
.
Un último ejemplo, dada una fecha 20161219
y un día de la semana de Monday (2)
, la respuesta es 20161219
.
Reglas:
- El formato de fecha para la entrada y salida debe coincidir. En los ejemplos, usé
yyyymmdd
, pero puede usar cualquier formato siempre que el año (al menos dos dígitos), el mes y el día del mes sean "legibles por humanos". - El día de la semana se ingresa como un entero. En mi ejemplo, el domingo es el primer día de la semana, por lo tanto, es el número del día de la semana
1
. Puede tener cualquier numeración del Día de la semana, siempre y cuando la anote cuando difiera del ejemplo. - Los años 1970 a 2030 deben ser acomodados.
- Se permiten herramientas y bibliotecas de fechas de idiomas comunes, pero se otorga credibilidad callejera a aquellos que eligen no usarlas.
- El menor número de bytes gana.