cs

Write a query identifying the type of each record in the TRIANGLES table using its three side lengths. Output one of the following statements for each record in the table:

  • Equilateral: It's a triangle with 3 sides of equal length.
  • Isosceles: It's a triangle with 3 sides of equal length.
  • Scalene: It's a triangle with 2 sides of differing lengths.
  • Not A Triangle: The given values of A, B, and C don't form a triangle.Input Format

The TRIANGLES table is described as follows:

Each row in the table denotes the lengths of each of a triangle's three sides.

Sample Input

Sample Output

Explanation

Values in the tuple (20, 20, 23) form an Isosceles triangle, because A≡B.
Values in the tuple (20, 20, 20) form an Equilateral triangle, because A≡B≡C.

Values in the tuple (20, 21, 22) form a Scalene triangle, because A≠B≠C.
Values in the tuple (13, 14, 30) cannot form a triangle because the combined value of sides A and B is not larger than that of side C.


SELECT 
(CASE 
 WHEN A + B <= C or A + C <= B or B + C <= A THEN 'Not A Triangle'
 WHEN A = B and B = C THEN 'Equilateral'
WHEN A = B or A = C or B = C THEN 'Isosceles'
WHEN A <> B and B <> C THEN 'Scalene' END) AS Type_of_Triangle
FROM TRIANGLES

---- 

case when 안쓰고 if 절 쓰는 사람도 있던데 아직까지는 CASE WHEN이 좀더 편한듯.. 

'Code Problems > SQL_ HackerRank' 카테고리의 다른 글

[HackerRank] Occupations  (0) 2021.10.23
[HackerRank] The PADS  (0) 2021.10.04
[HackerRank] Employee Salaries  (0) 2021.09.25
[HackerRank] Employee Names  (0) 2021.07.30
[HackerRank] Higher Than 75 Marks  (0) 2021.07.17

+ Recent posts