ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HackerRank - Type of Triangle
    DataBase/Hackers Rank 2024. 9. 30. 22:58
    반응형

    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 2 sides of equal length.
    • Scalene: It's a triangle with  3 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

    Isosceles
    Equilateral
    Scalene
    Not A Triangle
     

    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 AND B = C THEN 'Equilateral'
                WHEN A + B <= C OR A + C <= B OR B + C <= A THEN 'Not A Triangle'
                WHEN A = B OR B = C OR A = C THEN 'Isosceles'
                ELSE 'Scalene' 
            END
    FROM Triangles

    else절에서 조건이 여러개 있다면 첫번째 조건에 걸린다면 해당 값들은 다음 조건에서는 취급하지 않는다. 

    WHEN절의 순서를 잘 정돈하여 쿼리를 작성하는 것이 중요하다. 

    반응형

    댓글

Designed by Tistory.