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
'MySQL > 문제풀이' 카테고리의 다른 글
[LeetCode] Self JOIN : 181. Employees Earning More Than Their Managers (0) | 2021.03.15 |
---|---|
[LeetCode] LEFT JOIN : 183. Customers Who Never Order (0) | 2021.03.15 |
[HackerRank] INNER JOIN : Average Population of Each Continent (0) | 2021.03.15 |
[HackerRank] INNER JOIN : Asian Population (0) | 2021.03.15 |
[HackerRank] INNER JOIN : African Cities (0) | 2021.03.15 |
댓글