Mo!
(HackerRank) 해커랭크 SQL [Type of Triangle] Oracle 풀이 본문
SQL

(HackerRank) 해커랭크 SQL [Type of Triangle] Oracle 풀이

5사 2021. 12. 3.

문제 링크

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

triangles 테이블에서 세 변의 길이를 사용하여 각 레코드의 유형을 식별하는 질의를 작성합니다.
표의 각 레코드에 대해 다음 문장 중 하나를 출력합니다.

Equilateral : 길이가 같은 세 변을 가진 삼각형입니다.
Isosceles : 길이가 같은 두 변을 가진 삼각형입니다.
Scalene : 길이가 다른 세 변을 가진 삼각형입니다.
Not A Triangle : 주어진 A, B, C의 값은 삼각형을 형성하지 않습니다.

 

CASE WHEN을 사용한 풀이

 

 

 

case when not (a+b)>c and (b+c)>a and (a+c)>b then 'Not A Triangle'

-- a, b, c의 길이가 주어질 때 (a+b)>c 그리고 (b+c)>a 그리고 (a+c)>b 세 조건을 동시에 만족해야 한다

-- Not A Triangle을 만족할 조건은 위의 조건의 반대이면 된다 => 그러므로 when not으로 작성해야 한다

 

when a=b and b=c then 'Equilateral'

-- 세 변의 길이가 같아야 하므로 a=b 그리고 b=c라는 조건을 준다

 

when a=b or b=c or a=c then 'Isosceles'

-- 앞서 세 변의 길이가 같으면 'Equilateral'로 출력되었기 때문에 자동으로 이 조건은 뒤에서 제외되고, 그러므로 a=b 또는 b=c 또는 a=c라는 조건을 주면 된다

 

else 'Scalene' end as output

-- 앞에서 나온 조건들을 제외한 나머지는 길이가 다른 세 변을 출력하는 'Scalene'이다

 

 

Comments