Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

317
Vistas
Algoritmo para encajar personas en un calendario mensual

Tengo un algoritmo interesante para construir y he intentado un par de cosas pero no pude hacerlo bien.

Tengo el siguiente conjunto de reglas:

  • 16 personas para llenar todos los días del mes (llamémoslo 28 días para que sean semanas pares)
  • 4 personas por día
  • Cada persona debe tener un máximo de 7 días al mes.
  • Tiene que haber dos días entre cada día elegido (por lo que si la Persona 1 tiene un lunes, no debería tener otro turno el sábado y el domingo anterior ni el martes y el miércoles posterior).
  • Cada persona debe tener un fin de semana libre durante el mes (incluimos los viernes durante los fines de semana, por lo que no hay turnos los viernes, sábados y domingos una vez)

Lo que he intentado hasta ahora (no hay mucho código específico de Svelte, principalmente js):

https://svelte.dev/repl/0fc5a8e1b2a241a9985950c6a0a1ec43?version=3.44.3

https://svelte.dev/repl/c66a7de71cda46ec94fc1e11811a6883?version=3.44.3

Son enfoques similares, donde el primero repasa cada día en el rango e intenta seleccionar a las personas un día a la vez y el segundo repasa a las personas e intenta seleccionar todos los días de esa persona a la vez.

Mi problema con ambos enfoques es que, por lo general, habrá días en los que no se seleccione a todas las personas.

¿Hay alguna manera de mejorar el algoritmo? ¿Tengo otra manera de hacer esto?

¡Cualquier ayuda será apreciada!

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda