Tracks
/
Unison
Unison
/
Ejercicios
/
Elemento mayoritario
Elemento mayoritario

Elemento mayoritario

Intermedia

Instrucciones

Tu tarea es identificar si hay un color de caramelo en una bolsa que represente la mayoría de la bolsa. 🍬 El elemento mayoritario es aquel que ocupa más de la mitad de los elementos de una colección. Dada una lista de elementos que representan los colores, devuelve el color que sea el mayoritario; de lo contrario, indica que no se encontró ninguna mayoría.

Para una lista simple, [Red, Red, Blue, Red, Green], el valor devuelto debería ser Red porque Red aparece 3 veces en una lista de 5. Pero para una lista [Red, Red, Blue, Green], no hay mayoría a pesar de que Red es el elemento más común, porque 2/4 no es mayor que la mitad de los elementos.

Implementación

  • Puntos extra: ¿puedes generalizar tu implementación para encontrar el elemento mayoritario de cualquier tipo de List?
  • Puntos extra: ¿tu implementación es eficiente si hay muchos elementos diferentes entre los que elegir al buscar la mayoría?
  • Aunque puedes implementar la función majorityFinder de la manera que quieras, hemos incluido algunos stubs que usan la ability MyStore. (La ability MyStore es igual que Store de la biblioteca estándar, pero aquí le hemos dado un nombre un poco diferente para desambiguarla). Tendrás que implementar el handler runWith si eliges usar esta ability. runWith devuelve tanto el resultado de ejecutar la función que usa la ability MyStore como el estado final de MyStore.
  • Puedes leer más sobre cómo los handlers de abilities pueden hacer seguimiento del estado en la documentación de handlers de abilities.
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Unison Exercism

¿Todo listo para empezar Elemento mayoritario?

Regístrate en Exercism para aprender y dominar Unison con 53 ejercicios y mentoría humana real, todo gratis.