본문 바로가기
MySQL/문제풀이

[HackerRank] CASE : Type of Triangle

by MINNI_ 2021. 3. 15.

1. 문제

 

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.


2. 답

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

3.  KEY POINT

 

  • '조건문의 순서'에 따라 영향 끼침
  • 앞의 조건을 통과한 데이터들은 앞 조건을 만족시키지 못한다는 조건을 떠올리며 순서에 주목!!

 

www.hackerrank.com/challenges/what-type-of-triangle/problem?h_r=internal-search

 

Type of Triangle | HackerRank

Query a triangle's type based on its side lengths.

www.hackerrank.com

 

댓글