[SQL][HackerRank] Type of Triangle 해석/풀이

Leo Kim·2021년 3월 12일
1

SQL - 문제풀이

목록 보기
4/4
post-thumbnail

Type of Triangle 해석/풀이

해커랭크 바로가기 | 해당문제 바로가기

  • 해커랭크의 easy난이도 문제
  • easy난이도 중 유일하게 CASE WHEN,THEN,ELSE,END를 사용하는 문제

문제개요

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:

세개 변의 길이들을 이용해서 TRIANGLES테이블의 각 레코드에서 타입을 알아내는 쿼리를 써라.

  • Equilateral: It's a triangle with 3sides of equal length.

    세 변의 길이가 모두 같은 삼각형 - Equilateral

  • Isosceles: It's a triangle with 2sides of equal length.

    두 변의 길이가 같은 삼각형 - Isosceles

  • Scalene: It's a triangle with 3sides of differing lengths.

    세 변의 길이가 모두 다른 삼각형 - Scalene

  • Not A Triangle: The given values of A, B, and C don't form a triangle.

    주어진 3개변의 길이로 삼각형이 형성되지 않는 경우 - Not A Triangle

추가로 제시되어있는 Input format, Sample input과 Sample output을 확인해보면, 더욱 명확하게 알 수 있다.

아이디어

  • SQL문에서 아직 많이 안써봤던 CASE WHEN을 사용하기!
  • AND와 OR로 삼각형의 여러 조건들을 서술해주기
  • THEN으로 여러조건들의 결과출력
  • 마지막으로 ELSE를 사용하여 마지막 조건 써주기 + END

SQL은 정말 직관적인 명령어들이 매력적이다.

문제풀이

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

이제부터 해커랭크의 중급문제에 도전해보려고 한다. 🎈
겨우 초급문제들이지만 모두 풀었다는 것에 의의를 두고 싶다. :)

profile
항상 쉽지 않습니다

0개의 댓글