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í.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario