문제
풀이 과정
1) 문제 이해 및 접근
테이블에서 각 열이 삼각형 변의 길이에 해당하는데, 이 변의 길이에 따라 어떠한 삼각형이 만들어지는지 문자로 출력해야함
조건에 따라 출력을 해야하므로 CASE WHEN THEN END 사용해야 함
2) 풀이 코드
사용 언어 - Oracle
SELECT CASE
WHEN A + B <= C OR A + C <= B OR B + C <= A THEN 'Not A Triangle' -- 삼각형이 아닐때 (삼각형이 아닌 경우를 먼저 필터링) 필요
WHEN A = B AND B = C THEN 'Equilateral' -- 모든 변의 길이가 같은 경우
WHEN A = B OR B = C OR A = C THEN 'Isosceles' -- 두개의 변의 길이가 같은 경우
ELSE 'Scalene' -- 삼격형이지만, 세개의 변의 길이가 모두 다른 경우
END
FROM TRIANGLES;
결과 및 학습한 내용
1) 어려웠던 내용
- 조건 설정 순서에 시간 소요
처음에 삼각형을 판단하는 조건을 마지막에 넣었으나, 특정한 경우에 오류 발생하여
오류 수정 => 삼각형을 판단하는 조건을 제일 먼저 판별하도록 함
문제 링크
https://www.hackerrank.com/challenges/what-type-of-triangle/problem
※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다
'알고리즘 문제풀이 > SQL' 카테고리의 다른 글
[HackerRank] Weather Observation Station 13 (0) | 2021.12.21 |
---|---|
[프로그래머스] 오랜 기간 보호한 동물(2) (0) | 2021.12.20 |
[프로그래머스] 없어진 기록 찾기 (0) | 2021.12.19 |
[프로그래머스] 헤비 유저가 소유한 장소 (0) | 2021.12.18 |
[프로그래머스] 있었는데요 없었습니다 (0) | 2021.12.17 |
댓글