HackerRank_SQL_Type of Triangle

청수동햄주먹·2023년 6월 26일
0

SQL 공부

목록 보기
7/8

a,b,c 세 컬럼이 있는 데이터셋이 주어지고 각 인스턴스가 삼각형을 만드는지 분류하는 문제이다.

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 C=A THEN 'Isosceles'
            ELSE 'Scalene'
        END 
FROM TRIANGLES;
  • 제일 먼저 걸러줘야 하는 것은 삼각형이 될 수 없는 인스턴스들. 두변의 합이 한변 보다 한번이라도 짧으면 삼각형이 되지 않는다.
  • 그 이후 세변이 모두 같을 경우를 걸러준다.
  • 그 다음 두변이 같을 경우를 걸러준다. 이미 세변이 같을 경우가 걸러졌기 때문에 세변이 같은데 Isosceles에 분류되는 일은 없다.
  • 나머지는 모두 'Scalene'에 해당 되게 된다.
profile
코딩과 사별까지

0개의 댓글