https://school.programmers.co.kr/learn/courses/30/lessons/301646
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 문제 :
2번 형질이 보유하지 않으면서 1번이나 3번 형질을 보유하고 있는 대장균 개체의 수(COUNT)를 출력하는 SQL 문을 작성해주세요. 1번과 3번 형질을 모두 보유하고 있는 경우도 1번이나 3번 형질을 보유하고 있는 경우에 포함합니다.
- 풀이 :
-- ECOLI_DATA : ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE
SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE (GENOTYPE & 2) = 0
AND ((GENOTYPE & 1) > 0
OR (GENOTYPE & 4) > 0);
- & 비트 연산자를 사용해 1번 형질과 3번 형질을 보유하는 경우를 찾음
- & 4가 3번 형질인 이유는 이진수로 0001 -> 1번형질 0010 -> 2번형질 0100 -> 3번형질 이기 때문
반응형
'IT > SQL 테스트' 카테고리의 다른 글
[SELECT] 대장균의 크기에 따라 분류하기 2 (MySQL) (0) | 2025.02.05 |
---|---|
[SELECT] 부모 형질을 모두 가지는 대장균 찾기 (MySQL) (4) | 2025.02.05 |
[SELECT] 대장균의 크기에 따라 분류하기 1 (MySQL) (0) | 2025.02.05 |
[SELECT] 대장균들의 자식의 수 구하기 (MySQL) (0) | 2025.02.05 |
[SELECT] 특정 물고기를 잡은 총 수 구하기 (MySQL) (2) | 2025.02.03 |