[HackerRank] Type of Triangle

당당·2023년 7월 13일
0

HackerRank

목록 보기
3/27

https://www.hackerrank.com/challenges/what-type-of-triangle/problem

📔문제

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.

The TRIANGLES table is described as follows:

Each row in the table denotes the lengths of each of a triangle's three sides.


📝예시

Isosceles
Equilateral
Scalene
Not A Triangle

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

📃SQL 코드

select case
    when (a+b)<=c or (b+c)<=a or (a+c)<=b then 'Not A Triangle'
    when a=b and b=c then 'Equilateral'
    when a=b or b=c or a=c then 'Isosceles'
    when a!=b and b!=c and a!=c then 'Scalene'
    end
from triangles;

📰출력 결과


📂고찰

처음에는 case절을 중첩해서 사용했었는데,
저렇게 줄이면 됐었다.

삼각형 조건이 성립되지 않으면, Not A Triangle,
조건이 성립하는데 세 변의 길이가 같으면 Equilateral,
두 변의 길이만 같으면 Isosceles,
다 다르면 Scalene이 된다.

profile
MySQL DBA 신입

0개의 댓글