Multiplicidade de números

Escreva uma função que retorne um array de elementos [number, multiplicity]. A multiplicity de um número se refere à quantidade de vezes que ele aparece no array.

Para ilustrar:

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

// Como 5 aparece 4 vezes, 1 aparece duas vezes e 3 aparece uma vez.

O array final deve incluir apenas elementos únicos, e os elementos devem ser ordenados de acordo com o momento em que apareceram pela primeira vez no array original.

Exemplos

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]]

Observações

N/A