DEV Community

Gabriel J
Gabriel J

Posted on

Zerando HackerRank ( 13 )

E no décimo terceiro desafio desta serie que queima os miolos, vamos abordar um problema que envolve a migração de pássaros.
Iremos receber uma array de id's de pássaros e devemos retornar o menor id que menos se repete.
Por Exemplo:

Image description

Nessa array recebemos 2 id's que se repetem, o número 1 e o número 2.
Precisamos retornar o número 1 por ele ser o valor menor da array.

Nosso imput será assim:

Image description

Podemos reparar na imagem acima que o primeiro valor corresponde ao número de casas que representam os pássaros.
Logo não usaremos esse primeiro item da nossa array, podemos fazer isso ao utilizar o item dessa array a partir do index 1, assim esse numero não será utilizado.

Para isso nossa função deve fazer 5 coisas:

1- Cria uma variável vazia "counts" para armazenar as contagens de avistamentos de cada tipo de pássaro.

2- Usa um loop forEach para percorrer a matriz "arr" de contagens de avistamentos de pássaros e atualizar a contagem para cada tipo de pássaro na variável "counts".

3- Usa o método Math.max e o spread operator (...) para encontrar o valor máximo das contagens de avistamentos de pássaros na variável "counts".

4- Usa o método Object.keys e o método find para encontrar a chave (ou seja, o tipo de pássaro) correspondente à contagem máxima na variável "counts".

5- Retorna o tipo de pássaro mais comum na área, com base na contagem de avistamentos.

Nossa função vai ficar assim:

Image description

Top comments (0)