Multiplicidad de números

Escribe una función que devuelva un arreglo de elementos [number, multiplicity]. La multiplicity de un número se refiere a la cantidad de veces que aparece en el arreglo.

Para ilustrarlo:

[5, 5, 1, 1, 5, 5, 3]
[[5, 4], [1, 2], [3, 1]]

// Dado que 5 aparece 4 veces, 1 aparece dos veces y 3 aparece una vez.

El arreglo final solo debe incluir elementos únicos, y los elementos deben estar ordenados según el momento en que aparecieron por primera vez en el arreglo original.

Ejemplos

multiplicity([1, 1, 1, 2, 2, 3]) ➞ [[1, 3], [2, 2], [3, 1]]

multiplicity([1, 1, 1, 1, 1]) ➞ [[1, 5]]

multiplicity([1, 5, 4, 3, 2]) ➞ [[1, 1], [5, 1], [4, 1], [3, 1], [2, 1]]

Notas

N/A