본문 바로가기
🗄️ DB_이야기/# ⚡SQL

🚀[SQL 알고리즘 문제 풀이] Programmers : 대장균의 크기에 따라 분류하기 1(SELECT)

by gwon_s 2026. 4. 16.

👇 대장균의 크기에 따라 분류하기 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 문의 성능과 순서

  • 특정 조건에 해당하는 데이터가 압도적으로 많다면, 그 조건을 가장 위에 배치하여 불필요한 연산을 줄이는 것이 적은 부하를 줄 수 있습니다.