[HackerRank] Type of Triangle연습문제
HACKERRANK Type of Triangle 연습문제
문제: 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.
Input Format
[구해야하는 것]
삼각형 종류를 구분하는 쿼리 작성
[처음에 틀리게 작성했던 쿼리]
SELECT CASE
WHEN A=B AND B=C AND A=C THEN 'Equilateral'
WHEN A=B OR B=C OR A=C THEN 'Isosceles'
WHEN A+B<=C OR B+C<=A OR A+C<=B THEN 'Not A Triangle'
ELSE 'Scalene'
END
FROM TRIANGLES
[틀린 이유]
단순히 문제에 제시된대로
정삼각형 -> 이등변 삼각형-> 그냥 삼각형 -> 삼각형이 아닌 것
순서대로 조건문 작성
BUT
이럴 경우
1) 삼각형을 만들 수 있는 조건이 아닌데
*예를 들면 (20 20 40)
이등변 삼각형으로 구분되는 조건이 생김
따라서 NOT A TRIANGLE 을 먼저 작성해 줘야 함
CASE 조건문을 쓸 때는 그 순서에 유의해야한다는 점을 기억하자
2) 정삼각형의 경우 A=B AND B=C 이 두 가지만 작성해도 A=B=C
[정답]
SELECT CASE
WHEN A=B AND B=C THEN 'Equilateral'
WHEN A+B<=C OR B+C<=A OR A+C<=B THEN 'Not A Triangle'
WHEN A=B OR B=C OR A=C THEN 'Isosceles'
ELSE 'Scalene'
END
FROM TRIANGLES
#본 내용은 데이터리안 'SQL 데이터 분석 캠프 입문반'을 수강하며 작성한 내용입니다
Author And Source
이 문제에 관하여([HackerRank] Type of Triangle연습문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bohee0506/HackerRank-Type-of-Triangle연습문제저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)