문제
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 3sides of equal length.
- Isosceles: It's a triangle with 2sides of equal length.
- Scalene: It's a triangle with 3sides of differing lengths.
- Not A Triangle: The given values of A, B, and C don't form a triangle.
코드
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 A=C OR B=C THEN 'Isosceles'
ELSE 'Scalene' END
FROM triangles
풀이
삼각형이 들어있는 Triangles라는 테이블에 어떤 타입의 삼각형인지 알려달라
각각의 레코드마다 정삼각형일 수도 있고 이등변 삼각형일 수도 있고 일반적인 삼각형일 수 도있고 삼각형이 아닐 수도 있다
- 세 변이 같을 때 > 정삼각형
- 두 변이 같을 때 > 이등변삼각형
- 세 변의 길이가 다를 때 > 보통의 삼각형
- 두 변의 합이 남은 한 변보다 작을 때 > 삼각형 X
CASE WHEN 의 조건은 순서대로 진행되므로 어떤 조건이 먼저 와야하는지 생각해야함
출처
반응형
'Algorithm > MySQL' 카테고리의 다른 글
[프로그래머스] 동명 동물 수 찾기 (MySQL) (0) | 2021.06.30 |
---|---|
[프로그래머스] 고양이와 개는 몇 마리 있을까 (MySQL) (0) | 2021.06.30 |
[해커랭크(Hacker Rank)] Top Earners (MySQL) (0) | 2021.06.30 |
[해커랭크(Hacker Rank)] Weather Observation Station 4 (MySQL) (0) | 2021.06.30 |
[해커랭크(Hacker Rank)]Population Density Difference (MySQL) (0) | 2021.06.30 |