Skip to content

Latest commit

 

History

History
32 lines (18 loc) · 2.14 KB

BACKEND.md

File metadata and controls

32 lines (18 loc) · 2.14 KB

Back-end code challenge alt Batlogo

O homem morcego precisa de sua ajuda!

Você deve criar um algoritmo para o supercomputador da Batcaverna que deve ser capaz de calcular a probabilidade do arqui-inimigo Coringa atacar as imediações de Gotham.

Este algorítimo deve esperar um endereço, uma localidade ou uma coordenada (a torre do relógio ou a posiçao atual do Coringa, por exemplo). Quando o input for um endereço ou uma localidade, você deve transformá-lo em uma coordenada (utilizando Google, Yahoo, Bing, etc).

Você irá utilizar esta coordenada para determinar a probabilidade de um ataque do Coringa nos locais próximos, dentro dos limites de Gotham.

A probabilidade se dá pela distância linear entre o Coringa e o alvo, ou seja, quanto mais próximo, maior a probabilidade de um ataque. Para calcular a distância linear utilize a Fórmula de Haversine. Considere o raio da Terra como 6371km, e para facilitar desconsidere a elevação nos cálculos!

O raio de atuação do Coringa é de 2km, e a probabilidade máxima de ataque é de 95% nos casos em que o resultado seja maior que isso. (Afinal, quem entenderia o que se passa na cabeça do Coringa?!)

Lembre-se: O Batman é muito exigente, inclusive com a qualidade dos códigos. Surpreenda-o!

Input

O endereço, localidade ou coordenada do vilão.

Endpoints:

  1. GET /address?q=<endereço>
  2. GET /location?q=<localidade>
  3. GET /coordinate?q=<latitude>,<longitude>

A coordenada deve estar dentro dos limites de Gotham, caso contrário, é preciso notificar de alguma forma.

Output

Cada resposta deve conter a localização do Coringa e as informações dos locais que sofrem risco de ataque.

Exemplo com dados fictícios.