Multiplicidad de números

Escribe una función que devuelva un arreglo de pares [número, multiplicidad]. La multiplicidad de un número es la cantidad de veces que aparece en el arreglo de entrada.

Por ejemplo:

[5, 5, 1, 1, 5, 5, 3]
[[5, 4], [1, 2], [3, 1]]
// 5 aparece cuatro veces, 1 aparece dos veces y 3 aparece una vez.

El arreglo final debe incluir cada número distinto una sola vez, y los pares deben ordenarse según el momento en que cada número apareció 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