일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 히트맵
- 프롬프트 엔지니어링
- data analyst
- 최종 프로젝트
- SQL
- 서브쿼리
- 군집화
- pandas
- 프로젝트
- 기초통계
- cross join
- 기초프로젝트
- 크롤링
- 팀프로젝트
- SQLD
- 시각화
- Chat GPT
- streamlit
- 전처리
- lambda
- 태블로
- 클러스터링
- If
- 머신러닝
- da
- 데이터 분석
- GA4
- jd
- 데이터분석
- Python
Archives
- Today
- Total
세조목
SQL 예제(Triangle Judgement) 본문
610. Triangle Judgement
https://leetcode.com/problems/triangle-judgement/description/
문제의 제목에서도 알 수 있듯 이 문제는 삼각형을 찾는 문제다.
왜인지 모르겠으나 처음 이 문제를 보고서 내가 접근한 방식은
가장 큰 변의 길이가 나머지 두 변 길이의 합보다 작은 조건을 생각했다.
그렇게 작성한 코드는 아래와 같은데
SELECT X, Y, Z, IF(((X+Y+Z) - BIG) > BIG, 'Yes', 'No') TRIANGLE
FROM
(
SELECT X, Y, Z, GREATEST(X, Y, Z) BIG
FROM TRIANGLE
) BIG_TABLE
이렇게 해도 정답 처리가 되기는 한다.
혹시나 싶어 다른 분들이 작성하신 정답을 확인해보니 아래와 같이 굉장히 간단했다.
SELECT *, IF(x+y>z AND y+z>x AND z+x>y, "Yes", "No") as triangle
FROM Triangle
처음에는 왜 AND를 썼는지 이해되지 않았는데
삼각형의 조건을 알고보니 이해가됐다.
삼각형이 되려면 두 변의 길이가 나머지 한 변의 길이보다 커야한다.
'그럼 OR 조건 써도 되는거 아니야?'
라는 의문이 생길수도 있다.
나도 그랬는데 삼각형의 조건을 다시 한 번 보면
두 변의 길이가 나머지 한 변의 길이보다 커야하는 조건이 모든 경우에 적용돼야한다.
예를 들어 X, Y, Z가 있는데
X+Y는 Z보다 큰데 Y+Z가 X보다 작은 경우에는 삼각형이라고 할 수 없다.
'데이터 분석 공부 > SQL' 카테고리의 다른 글
SQL 예제 정리(프로그래머스 - '즐겨찾기가 가장 많은 식당 정보 출력하기') (0) | 2024.05.01 |
---|---|
SQL 예제(Consecutive Numbers)(Lead 함수) (0) | 2024.02.22 |
SQL 예제 풀이(Leetcode - Confirmation Rate) (0) | 2024.02.02 |
SQL 정리(Join의 기준)(24.02.01) (0) | 2024.02.01 |
SQL 정리(프로그래머스 - '주문량이 많은 아이스크림들 조회하기')(24.01.22) (0) | 2024.01.22 |