Weather Observation Station 18 | Hackerrank

Author: neptune | 18th-Apr-2023
#SQL #Hackerrank

Problem Statement:

Consider P1(a,b) and P2(c,d) two points on a 2D plane.

  •  ‘a’ happens to equal the minimum value in Northern Latitude (LAT_N in STATION).

  •  ‘b’ happens to equal the minimum value in Western Longitude (LONG_W in STATION).

  •  ‘c’ happens to equal the maximum value in Northern Latitude (LAT_N in STATION).

  •  ‘d’ happens to equal the maximum value in Western Longitude (LONG_W in STATION).

Query the Manhattan Distance between points P1 and P2 and round it to a scale of 4 decimal places.


Manhattan Distance: The distance between two points measured along axes at right angles. In a plane with p1 at (x1, y1) and p2 at (x2, y2), it is |x1 - x2| + |y1 - y2|.

Input Format:

The STATION table is described as follows:

where LAT_N is the northern latitude and LONG_W is the western longitude.


Sample Input:

Assume the STATION table has the following data:

ID

CITY

STATE

LAT_N

LONG_W

1

A

X

10.000

20.000

2

B

Y

12.000

22.000

3

C

Z

8.000

18.000

4

D

W

14.000

24.000


Sample Output:

The Manhattan Distance between the two points is computed as:


 ABS(14.000 - 8.000) + ABS(24.000 - 18.000) = 12.000



Explanation:

The solution applies the concept of Manhattan Distance to find the distance between two points on a 2D plane. 

Manhattan Distance is the sum of the absolute differences of the coordinates of two points. It is calculated by adding the absolute differences between the x-coordinates and y-coordinates of the two points.


In this problem, we need to find the Manhattan Distance between two points P1(a,b) and P2(c,d) where:

The SQL query written uses the MIN and MAX functions to retrieve the minimum and maximum values of latitude and longitude from the STATION table. 

The ABS function is then used to calculate the absolute differences between the latitude and longitude values of the two points, and the ROUND function is used to round the result to 4 decimal places.


Solution:

MySQL Query:

 

 SELECT

 ROUND(

    ABS(

       (SELECT MIN(LAT_N) FROM STATION) -

       (SELECT MAX(LAT_N) FROM STATION)

       )

    +

    ABS(

       (SELECT MIN(LONG_W) FROM STATION) -

       (SELECT MAX(LONG_W) FROM STATION)

       ),

    4);



The output of the query is the Manhattan Distance between the two points, rounded to 4 decimal places.

Execution:


I hope this works for you. Let me know if you face any issue in the comment section.



Related Blogs
5. Solution of Hacker Rank Weather Observation Station 8.
Author: neptune | 18th-Aug-2024
#SQL #Hackerrank
Query the list of CITY names from STATION which have vowels (i.e., a, e, i, o, and u) as both their first and last characters. Your result cannot contain duplicates...

The Blunder | Hackerrank
Author: neptune | 21st-Nov-2022
#SQL #Hackerrank
Write a query calculating the amount of error (i.e.: average monthly salaries), and round it up to the next integer...

7.Solution of Hacker Rank The Report
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : generate a report containing three columns: Name, Grade and Mark. Ketty doesn't want the NAMES of those students who received a grade lower than 8...

4. Solution of Hacker Rank Weather Observation Station 6.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from STATION. Your result cannot contain duplicates...

3. Solution of Hacker Rank Weather Observation Station 4.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : Find the difference between the total number of CITY entries in the table and the number of distinct CITY entries in the table...

The PADS | Hackerrank
Author: neptune | 21st-Nov-2022
#SQL #Hackerrank
Problem Statement: Generate the following two result sets: 1. Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession...

Identifying the Odd One Out in a Series of Strings | Hackerrank
Author: neptune | 15th-Jun-2023
#Hackerrank #Problem Solving
The article presents an algorithm to identify the odd one out in a series of strings efficiently...

6. Solution of Hacker Rank Employee Salaries.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : Query that prints a list of employee names for employees in Employee having a salary greater than $2000 per month and experience less than 10 months...

1. Basic SQL Select Query of Hacker Rank.
Author: neptune | 20th-Apr-2022
#SQL #Hackerrank
Problem Statement : Query all columns for all American cities in the CITY table with populations larger than 100000. The CountryCode for America is USA...

Generate Fibonacci Sequence - JavaScript | Hackerank
Author: neptune | 07th-Apr-2023
#JavaScript #Hackerrank
Write a JavaScript function fibonacciSequence() to generate a FIbonacci sequence...

2. Solution of Hacker Rank Weather Observation Station 3.
Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank
Problem Statement : Query a list of CITY names from STATION for cities that have an even ID number. Print the results in any order, but exclude duplicates from the answer...

Team Formation Hackerrank | Julia
Author: neptune | 13th-Apr-2023
#Hackerrank
HackerRank is organising a chess tournament for its employees. There are n employees, having IDs 1, 2, n, where the employee has a rating of rating...

Modified 0-1 knapsack problem | Frsco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
An automobile mechanic wants to buy a set of spare parts from a manufacturing unit. Goal is to maximise the amount of money the mechanic can earn...

Solving the Ice Cream Parlor Problem | Hackerrank
Author: neptune | 04th-Jun-2023
#Hackerrank #Problem Solving
Two friends like to pool their money and go to the ice cream parlour. They always choose two distinct flavours and they spend all of their money...

AngularJS - Know Tech Frameworks | Fresco Play
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
Build an application that displays the framework details using AngularJS routing. We will build an application that displays the Tech Frontend and Backend frameworks...

Top Earners | HackerRank
Author: neptune | 23rd-Nov-2022
#SQL #Hackerrank
Write a query to find the maximum total earnings for all employees as well as the total number of employees who have maximum total earnings...

Backspace String Compare using R | Fresco Play
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
The code implementation in both R and Python solves the "Backspace String Compare" problem using stack data structure...

PySpark Milestone Black Friday Sales Data | Fresco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Data Science #Hackerrank
Welcome to the Spark Challenge. You are provided with the Black Friday sales data and we as a big data developer needs to analyze and fetch the required data...

30+ SQL Interview Questions
Author: neptune | 05th-Jan-2023
#Interview #SQL
Data Definition Language (DDL) – It allows end-users to CREATE, ALTER, and DELETE database objects...

Python - Number Based Problem | Hackerrank
Author: neptune | 17th-Aug-2023
#Hackerrank #Problem Solving
Determine whether the number in descending order is a prime or not. If the number is a prime, then print "Sorted Number is a prime number," otherwise, print "Sorted Number is not a prime number."..

View More