DEV Community

Gabriel J
Gabriel J

Posted on

1

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

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay