상세 컨텐츠

본문 제목

Type of Triangle(HackerRank)

SQL/MySQL 문제풀이

by 관재탑 2022. 7. 18. 19:58

본문

https://www.hackerrank.com/challenges/what-type-of-triangle/problem?isFullScreen=true 

 

Type of Triangle | HackerRank

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

www.hackerrank.com

 

 

문제

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.

 

 

정답쿼리

SELECT  CASE 
WHEN A + B <= C OR B + C <= A OR B + C <= A THEN 'Not A Triangle' 
WHEN A = B AND B = C THEN 'Equilateral'
WHEN A = B OR B = C OR A = C THEN 'Isosceles'
ELSE 'Scalene' END
FROM TRIANGLES

 

해설

CASE문에서는 순서가 중요하다. 위에서 내려오면서 차례대로 조건이 적용되기 때문이다. 

NOT A Triangle이 맨 위에 있어야 한다. 예를 들어 Isosceles의 조건을 만족하면서 동시에 'NOT A Triangle'의 조건도 만족가능하기 때문에 Isosceles가 NOT A Triangle위에 있으면 NOT A Triangle이 되어야 할 데이터가 Isosceles가 되기 때문이다.

'SQL > MySQL 문제풀이' 카테고리의 다른 글

Customers Who Never Order(LeetCode)  (0) 2022.07.20
Reformat Department Table(LeetCode)  (0) 2022.07.20
Top Earners(HackerRank)  (0) 2022.07.18
Weather Observation Station 15(HackerRank)  (0) 2022.07.18
Higher Than 75 Marks(HackerRank)  (0) 2022.07.18

관련글 더보기

댓글 영역