DEV Community

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

Posted on

 

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:

Top comments (1)

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

Esooooooo!!! 🤗

The JavaScript Brief

1. Top 5 MERN STACK projects to improve your practical understanding

Boost your MERN Stack development skills by undertaking interesting beginner projects. These five engaging projects cover web applications and range from social media website applications to geo-social networking maps. Hone your understanding and apply modern techniques backed up by hands-on experience.

2. How To Optimize Your React App’s Performance

Learn the best optimizing techniques to make your React applications faster and more efficient. Focusing on the identification of performance bottlenecks and common pitfalls to avoid, these optimization strategies will keep your applications running smoothly even when faced with growing complexity.

3. A story of let, const, object mutation, and a bug in my code

In the pursuit of bug-free code, explore an incident involving a mix-up between const and let, making sure your custom code works effectively with third

party documentation. Discover best practices on program flow and learn about JavaScript's unpredictable aspects to ensure your core code is robust.