JavaScript: cantidad de viernes 13 que tiene un año (ejercicio resuelto)

En este post voy a resolver un ejercicio de JavaScript tomado originalmente de Codewars.

Un día desafortunado o sin suerte es un viernes que además es 13.

Nuestra tarea es escribir una función que reciba el número de un año y devuelva la cantidad de “días desafortunados” que tiene, es decir, el conteo de viernes 13 que existen en ese año.

Explicación del algoritmo

Vamos a trabajar con fechas, porque esa es la forma más fácil según mi forma de ver las cosas.

Hacemos un ciclo y recorremos cada mes de ese año (las conversiones de días, años bisiestos y esas cosas las maneja JS) poniéndole el valor de 13 en la fecha; después llamamos a getDay que devuelve el día de la semana y si es viernes aumentamos un contador.

Al terminar el ciclo, regresamos ese contador. Cabe mencionar que los meses en JavaScript comienzan en 0 por lo que 0 es enero y 11 es diciembre.

Para el día de la semana, 0 es domingo, 1 es lunes y así hasta que el sábado es 6. Por lo tanto, para saber si es viernes comprobamos si el día es 5.

Función que devuelve la cantidad de viernes 13 en JavaScript

El código es el siguiente:

Al inicio creamos una fecha con el año que nos pasaron, en el mes de enero. Cambiamos de mes y en cada mes comprobamos si el día 13 es viernes.

Probar función

A continuación dejo el código completo para probar la función:

Puedes ejecutar el código haciendo click aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *