문제
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 sides of equal length.
- Isosceles: It's a triangle with sides of equal length.
- Scalene: It's a triangle with 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 then 'Not A Triangle'
when a != b and a != c and b != c then 'Scalene'
else 'Isosceles'
end as a
from triangles;
NOTE
문제에서 설명한 삼각형의 조건을 활용해서 문제를 풀 수 있다.
case문에 삼각형의 조건을 대입하여 풀이하면 된다.
'algorithm' 카테고리의 다른 글
[programmers] MySQL - Lv.1 강원도에 위치한 생산공장 목록 출력하기 (select) (0) | 2022.10.06 |
---|---|
[HackerRank] MySQL - The PADS (1) | 2022.10.06 |
[HackerRank] MySQL - Employee Salaries (0) | 2022.09.29 |
[programmers] MySQL - Lv.4 보호소에서 중성화한 동물 (join) (0) | 2022.09.29 |
[HackerRank] MySQL - Employee Names (0) | 2022.09.28 |