👇 대장균의 크기에 따라 분류하기 1
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
🔓 문제 설명
대장균 개체의 크기가 100 이하라면 'LOW', 100 초과 1000 이하라면 'MEDIUM', 1000 초과라면 'HIGH' 라고 분류합니다.
대장균 개체의 ID(ID) 와 분류(SIZE)를 출력하는 SQL 문을 작성해주세요.
이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요.
예시 문제 데이터(ECOLI_DATA)
| ID | PARENT_ID | SIZE_OF_COLONY | DIFFERENTIATION_DATE | GENOTYPE |
| 1 | NULL | 17 | 2019-01-01 | 5 |
| 2 | NULL | 150 | 2019-01-01 | 3 |
| 3 | 1 | 4000 | 2020-01-01 | 4 |
⚡SQL Query
SELECT
ID,
CASE
WHEN SIZE_OF_COLONY <= 100 THEN 'LOW'
WHEN SIZE_OF_COLONY <= 1000 THEN 'MEDIUM'
ELSE 'HIGH'
END AS SIZE
FROM ECOLI_DATA
ORDER BY ID ASC;
🔎 풀이 설명
1. 조건 분기(CASE 문): CASE 문을 통해 100 이하, 1000 이하, 그 외 조건 범위를 분류
2. 컬럼 별칭
3. 정렬
💡인사이트
1. CASE 문의 성능과 순서
- 특정 조건에 해당하는 데이터가 압도적으로 많다면, 그 조건을 가장 위에 배치하여 불필요한 연산을 줄이는 것이 적은 부하를 줄 수 있습니다.
'🗄️ DB_이야기 > # ⚡SQL' 카테고리의 다른 글
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 대장균의 크기에 따라 분류하기 2(SELECT) (0) | 2026.04.17 |
|---|---|
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 특정 형질을 가지는 대장균 찾기(SELECT) (0) | 2026.04.16 |
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 대장균들의 자식의 수 구하기(SELECT) (1) | 2026.04.15 |
| 🚀[SQL 알고리즘 문제 풀이] Programmers : 조건에 맞는 개발자 찾기(SELECT) (1) | 2026.04.15 |
| 🚀[SQL 알고리즘 문제 풀이] Programmers : Python 개발자 찾기(SELECT) (0) | 2026.04.15 |