DEV Community

Cover image for Advent.js🎅🏼| Reto #2: Nadie quiere hacer horas extra
Cristian Fernando
Cristian Fernando

Posted on

2 1

Advent.js🎅🏼| Reto #2: Nadie quiere hacer horas extra

Nadie quiere hacer horas extra

Un millonario ha comprado una red social y no trae buenas noticias. Ha anunciado que cada vez que una jornada de trabajo se pierde por un día festivo, habrá que compensarlo con dos horas extra otro día de ese mismo año.

Obviamente la gente que trabaja en la empresa no le ha hecho ni pizca de gracia y están preparando un programa que les diga el número de horas extras que harían en el año si se aplicara la nueva norma.

Al ser trabajo de oficina, su horario laboral es de lunes a viernes. Así que sólo tienes que preocuparte de los días festivos que caen en esos días.

Dado un año y un array con las fechas de los días festivos, devuelve el número de horas extra que se harían ese año:

const year = 2022
const holidays = ['01/06', '04/01', '12/25'] // formato MM/DD

// 01/06 es el 6 de enero, jueves. Cuenta.
// 04/01 es el 1 de abril, un viernes. Cuenta.
// 12/25 es el 25 de diciembre, un domingo. No cuenta.

countHours(year, holidays) // 2 días -> 4 horas extra en el año
Enter fullscreen mode Exit fullscreen mode

Cosas a tener en cuenta y consejos:

  • El año puede ser bisiesto. Haz las comprobaciones que necesitas para ello, si fuese necesario.
  • Aunque el 31 de diciembre sea festivo, las horas extra se harán el mismo año y no el siguiente.
  • El método Date.getDay() te devuelve el día de la semana de una fecha. El 0 es domingo, el 1 es lunes, etc.

Completa el reto!


Puedes seguir a @midudev y estar pendiente de los retos de Advent.js


Mi solución:

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (1)

Collapse
 
midudev profile image
Miguel Ángel Durán 👨‍💻

Esooooooo!!! 🤗

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more